Dev Diary: From 0 to 721 Tests: Our TDD Story
A behind-the-scenes look at how we build 3mpwrApp.
Test-driven development means writing the test before writing the code — articulating exactly what you want it to do, in a verifiable way, before a single implementation line exists.
We chose TDD because this app handles sensitive legal and medical data, crisis support, and accessibility requirements that non-disabled developers might not notice if they broke. We needed a way to verify that the things that matter most to our community kept working.
721 is not a number we targeted. It is the number you arrive at when you write a test for every meaningful behaviour in the codebase. Test coverage of critical paths was the commitment — the count followed from that.
Technical Details
- 721 tests across 121 suites — zero test debt intentionally accumulated
- Test-driven development used for every critical path in the codebase
- Dedicated security test suite verifies encryption implementation is correct
- Accessibility tested both programmatically and by community testers
- 0 ESLint errors, 0 TypeScript errors maintained as a non-negotiable standard
In Practice
- The Evidence Locker has 23 dedicated tests verifying no plaintext reaches storage
- Letter Generator templates tested against output format and legal language requirements
- Accessibility labels tested in CI to catch regressions before human testers see them
What We Learned
- A regression in a feature a disabled person depends on can cause real harm — tests prevent that
- High test count means nothing without test quality — our tests verify real behaviour
- TDD forces you to articulate exactly what you want code to do before you write it
Follow Our Development
We believe in building in public — the community we serve has been failed by opaque institutions too many times.
- â GitHub
- 🧪 Join Beta Testing
- 💬 Community Discussion