# `Jido.Chat.AdapterTestKit.Factories`
[🔗](https://github.com/agentjido/jido_chat/blob/v1.2.0/lib/jido/chat/adapter_test_kit/factories.ex#L1)

Deterministic factories for adapter contract tests.

Each factory returns a public `Jido.Chat` type. Factories accept a map or a
keyword list of shallow field overrides.

# `author`

```elixir
@spec author(map() | keyword()) :: Jido.Chat.Author.t()
```

Builds a canonical author.

# `event`

```elixir
@spec event(map() | keyword()) :: Jido.Chat.EventEnvelope.t()
```

Builds a canonical message event envelope.

# `incoming`

```elixir
@spec incoming(map() | keyword()) :: Jido.Chat.Incoming.t()
```

Builds a canonical incoming message.

# `media`

```elixir
@spec media(map() | keyword()) :: Jido.Chat.Media.t()
```

Builds canonical media.

# `message`

```elixir
@spec message(map() | keyword()) :: Jido.Chat.Message.t()
```

Builds a canonical normalized message.

# `post_payload`

```elixir
@spec post_payload(map() | keyword()) :: Jido.Chat.PostPayload.t()
```

Builds a canonical outbound post payload.

# `response`

```elixir
@spec response(map() | keyword()) :: Jido.Chat.Response.t()
```

Builds a canonical adapter response.

# `webhook_request`

```elixir
@spec webhook_request(map() | keyword()) :: Jido.Chat.WebhookRequest.t()
```

Builds a canonical webhook request.

---

*Consult [api-reference.md](api-reference.md) for complete listing*
