Essential session storage is required to sign in. Optional analytics remain off unless you allow them.
Build an automated test suite for a small app (or one you write) that respects the test pyramid: MANY fast unit tests (with appropriate test doubles — use a stub for canned data and a mock only where you must verify an interaction, without over-mocking), a layer of integration/API tests, and a FEW end-to-end tests (Playwright/Cypress) for critical user journeys only. Practice TDD (red-green-refactor) for at least one feature. Wire the suite into CI so it runs on every push and a failure blocks the merge. Report coverage but argue why the number alone doesn't prove quality.
Many unit, fewer integration/API, few E2E (not an inverted ice-cream cone); E2E reserved for critical journeys.
Correct use of stubs vs mocks (no over-mocking); at least one feature built via red-green-refactor; tests independent and deterministic.
Suite runs in CI on every push; a red build blocks merge (quality gate); fast feedback loop.
Coverage reported AND correctly framed — high coverage is not proof of quality; assertions matter.
Use this README structure to make the work reviewable.
DevPath fetches a read-only, size-capped snapshot. Submitted code is never executed.
# An automated test suite at the right pyramid levels ## Goal Build an automated test suite for a small app (or one you write) that respects the test pyramid: MANY fast unit tests (with appropriate test doubles — use a stub for canned data and a mock only where you must verify an interaction, without over-mocking), a layer of integration/API tests, and a FEW end-to-end tests (Playwright/Cypress) for critical user journeys only. Practice TDD (red-green-refactor) for at least one feature. Wire the suite into CI so it runs on every push and a failure blocks the merge. Report coverage but argue why the number alone doesn't prove quality. ## Acceptance criteria - [ ] Pyramid shape: Many unit, fewer integration/API, few E2E (not an inverted ice-cream cone); E2E reserved for critical journeys. - [ ] Doubles & TDD: Correct use of stubs vs mocks (no over-mocking); at least one feature built via red-green-refactor; tests independent and deterministic. - [ ] CI integration: Suite runs in CI on every push; a red build blocks merge (quality gate); fast feedback loop. - [ ] Coverage judgment: Coverage reported AND correctly framed — high coverage is not proof of quality; assertions matter. ## Verification - [ ] Document installation and run commands. - [ ] Record automated checks and their exact commands. - [ ] Add representative output, screenshots, or a short demo where useful. - [ ] Confirm failure paths and known constraints. ## Decision log ### Decision title - Context: - Choice: - Alternatives considered: - Tradeoffs: ## Evidence - Link each rubric criterion to the file, test, or artifact that demonstrates it. ## Known limitations - List what is intentionally out of scope and what should be improved next.