What problem does it solve? It explains how this project's pytest suite is structured — fixtures, async test setup with pytest-asyncio, the isolated in-memory test database, and parametrize — so you can add tests, write fixtures, and debug confusing failures like coroutine objects handed to tests or state leaking between tests. ## Core Features & Use Cases - Async fixture guidance: Shows why async fixtures need @pytest_asyncio.fixture instead of plain @pytest.fixture, and what breaks when you mix them up. - Isolated test database pattern: Documents the in-memory SQLite engine with StaticPool, dependency overrides, and the autouse _prepare_database fixture that recreates the schema around every test. - Test design guides: Covers one-test-per-behavior structure, asserting status code plus response body shape, and using @pytest.mark.parametrize for repeated logic across inputs. - Use Case: You add a new endpoint and need tests for create, list, get, 404, and delete — follow the writing-a-good-test guide, then parametrize the invalid-payload cases that should all return 422. ## Quick Start Ask the assistant to write pytest tests for a new FastAPI endpoint following this project's fixture and isolation patterns.