# Testing ## Framework - Use TAP tests with the `Test2::V0` package. - Run tests with `prove`. - Run all tests in a directory after modifying files in that directory. ## Test Layouts - `t/` — end-to-end smoke tests and multi-role tests - `roles/*/t/` — role-specific tests ## Dashboard Page Tests - Focus on: route health, page identity, core user-facing content, essential accessibility semantics, and `data-*` hooks for JS. - Test shared layout behavior on one representative page, not every page. - Cover all probe keys using compact, data-driven assertions. - Limit negative assertions to meaningful boundaries (unknown routes, deprecated routes, regressions). - Do NOT assert incidental wrappers, styling-only classes, or unrelated elements. - Keep page-rendering and endpoint-behavior tests separate when a page exposes non-HTML responses. - Max 50 assertions per rendered page.