# sandbox_case v0.4.0 - Table of Contents

Batteries-included test isolation for Elixir and Phoenix.

## Pages

- [Introduction](readme.md)

## Modules

- [SandboxCase](SandboxCase.md): Batteries-included test isolation for Elixir and Phoenix.
- [SandboxCase.Sandbox](SandboxCase.Sandbox.md): Orchestrates test sandbox setup and per-test checkout/checkin.
- [SandboxCase.Sandbox.Adapter](SandboxCase.Sandbox.Adapter.md): Behaviour for sandbox adapters.
- [SandboxCase.Sandbox.Cachex](SandboxCase.Sandbox.Cachex.md): Sandbox adapter for Cachex. Works with vanilla Cachex — no fork required.
- [SandboxCase.Sandbox.Case](SandboxCase.Sandbox.Case.md): ExUnit case template that checks out all configured sandboxes
and checks them back in on exit.
- [SandboxCase.Sandbox.DeadlockDetector](SandboxCase.Sandbox.DeadlockDetector.md): On-demand Postgres lock chain reporter.
- [SandboxCase.Sandbox.FunWithFlags](SandboxCase.Sandbox.FunWithFlags.md): Sandbox adapter for FunWithFlags. Works with vanilla FunWithFlags — no
fork and no bytecode patching.
- [SandboxCase.Sandbox.FwfAdapter](SandboxCase.Sandbox.FwfAdapter.md): A sandbox-aware `FunWithFlags.Store.Persistent` adapter.
- [SandboxCase.Sandbox.Hook](SandboxCase.Sandbox.Hook.md): LiveView on_mount hook that propagates test sandbox state from the
test owner process to WebSocket-connected LiveView processes.
- [SandboxCase.Sandbox.LockMonitor](SandboxCase.Sandbox.LockMonitor.md): Background monitor that periodically polls Postgres for blocked queries
and reports the lock chain.
- [SandboxCase.Sandbox.Logger](SandboxCase.Sandbox.Logger.md): Sandbox adapter that captures logs per test.
- [SandboxCase.Sandbox.Plug](SandboxCase.Sandbox.Plug.md): Plug that propagates test sandbox state from the test owner process
to HTTP request processes (controllers, channels).
- [SandboxCase.Sandbox.Redis](SandboxCase.Sandbox.Redis.md): Sandbox adapter for Redis via Redix.

