Flutter Test Suite
Build the safety net. As the team ships features fast, an automated test layer is what stops regressions from slipping into the app unnoticed.
The app has grown to many screens with almost no automated coverage. Your job is a fast, deterministic test suite that runs entirely against the in-memory repository and mock data — no backend, no network — so it's reliable in CI and quick to run locally.
Widget + golden tests for the six core screens, plus unit tests for the pure domain logic. Each screen test drives the UI through its real states and asserts what the user sees.
- Set up the test harness: ProviderScope overrides + shared mock studios.
- Widget tests for Home, Dashboard, Quiz Me, Flashcards, Teach Me, Mastery Report.
- For each screen, assert all four states — loading, empty, error, data.
- Golden (snapshot) tests for at least 3 visually rich screens.
- Unit tests for mastery calculation, weak-topic selection, and the DTO mappers.
- A README covering how to run the suite and add new tests.
flutter test passes locally, all six screens plus the three domain areas are covered, and the README documents the workflow.