# `Accrue.Test`
[🔗](https://github.com/szTheory/accrue/blob/accrue-v1.0.0/lib/accrue/test.ex#L1)

Public test helper facade for host applications.

`use Accrue.Test` imports the stable assertion helpers and action
helpers intended for host `DataCase`/`ConnCase` modules.

# `advance_clock`

# `meter_events_for`

```elixir
@spec meter_events_for(Accrue.Billing.Customer.t() | String.t()) :: [map()]
```

Returns meter events captured by `Accrue.Processor.Fake` for `customer_or_id`
(same argument shapes as `Accrue.Processor.Fake.meter_events_for/1`).

Prefer asserting `%Accrue.Billing.MeterEvent{}` rows via `Ecto.Repo` first; use
this helper when processor-shaped payloads matter.

Raises `ArgumentError` unless `Accrue.Processor.__impl__()` is `Accrue.Processor.Fake`.

## Implementation

single facade: delegates reads to `Accrue.Processor.Fake` so hosts discover the
helper through `Accrue.Test` instead of importing the Fake module directly.

# `setup_fake_processor`

```elixir
@spec setup_fake_processor(keyword() | map()) :: :ok | {:ok, keyword()}
```

Configures Accrue to use the in-memory Fake processor for the current test.

# `setup_mailer_test`

```elixir
@spec setup_mailer_test(keyword() | map()) :: :ok | {:ok, keyword()}
```

Configures Accrue to capture mail deliveries through `Accrue.Mailer.Test`.

# `setup_pdf_test`

```elixir
@spec setup_pdf_test(keyword() | map()) :: :ok | {:ok, keyword()}
```

Configures Accrue to capture PDF renders through `Accrue.PDF.Test`.

# `trigger_event`

---

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