--- name: ecommerce-test-implementation description: 'Write automated tests for backend and frontend, then run them. Use for creating or extending pytest, frontend unit, integration, and UI tests in an ecommerce project and producing a test execution report.' argument-hint: 'Describe whether to cover the whole project or focus on backend, frontend, checkout, auth, catalog, admin, or other flows' --- # Ecommerce Test Implementation ## When to use - After building a new ecommerce project. - After adding or changing backend or frontend features. - When the project lacks automated tests for important commerce flows. ## Goal - Add meaningful automated tests for backend and frontend. - Run the relevant test suites. - Produce or update .ai/TEST-REPORT.md with coverage notes, executed commands, and failures. ## Required workflow 1. Read project configuration first: `pyproject.toml`, `package.json`, and existing test config files. 2. Detect the current test stack using [test stack matrix](./assets/test-stack-matrix.md). 3. Identify the highest-risk flows using [test coverage checklist](./assets/test-coverage-checklist.md). 4. Before serious backend or frontend edits, create a timestamped snapshot under .backup/ and leave older backup entries untouched. 5. Add or update tests in the project's existing style where possible. 6. If the project has no coherent test baseline, create a minimal sensible baseline rather than skipping tests. 7. Run the relevant backend and frontend tests. 8. Record results in .ai/TEST-REPORT.md using [test report template](./assets/test-report-template.md). 9. If tests fail, stop pretending everything is fine and recommend running the test-repair workflow. ## What to cover by default - Backend: API contracts, auth, permissions, catalog, cart, orders, admin endpoints, validation, and regression-prone business logic. - Frontend: page rendering, key user flows, empty/loading/error states, and critical UI interactions. - If the project already has UI or end-to-end tooling, cover the most important high-value flows with it. ## Constraints - Do not add shallow tests that only restate implementation with no confidence gain. - Prefer high-signal tests over bloated low-value suites. - Respect the existing framework and test runner unless it is clearly absent or broken. ## Outputs - Test code in the project. - .ai/TEST-REPORT.md. - Clear next step when failures exist: run the test-repair workflow. ## References - [test stack matrix](./assets/test-stack-matrix.md) - [test coverage checklist](./assets/test-coverage-checklist.md) - [test report template](./assets/test-report-template.md)