# `Arc.Test.Case`
[🔗](https://github.com/Cratis/Arc.Elixir/blob/main/lib/arc/test.ex#L146)

`ExUnit.CaseTemplate` that starts an in-memory Chronicle client per test and puts an
`Arc.Test.Scenario` in the context as `:arc`.

Options: `:application` (required) and every option of `Chronicle.Testing.start_supervised_client/1`
(`:event_types`, `:reactors`, `:reducers`, `:constraints`, ...). Also:

  * `configure: true` - point the application's configuration at the test client with
    `Arc.Test.configure/2`, for tests that go through the HTTP host or LiveView
  * `observable: true` - also start the application's supervisor, for observable-query tests

Both are global, so such tests cannot run with `async: true`. Do not use `observable: true` when
the application already starts `application` in its supervision tree.

---

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