Summary
The ProofSnap extension has zero test files, no test runner, and no testing libraries in its dependencies. All quality assurance currently relies on manual testing, TypeScript type checking, and AI-assisted code review. This gap was visible in PR #9 where code quality issues (untrimmed inputs, accessibility gaps, security flaws) were caught only during human/Copilot review rather than automated tests.
Evidence
Proposed Approach
- Install Vitest — aligns with the existing Vite build system, zero-config for Vite projects
- Install React Testing Library — for popup/options UI component tests
- Add
chrome API mocks — stub chrome.storage, chrome.runtime, chrome.tabs for unit tests
- Create initial test suites for critical paths:
StorageService — auth token management, settings persistence
IndexedDBService — asset CRUD operations
UploadService — queue management, retry logic, error recovery
AuthService — login/logout flows, token handling
- Add
test script to package.json
- Integrate into CI — add test step to the release workflow and future PR checks
Priority
High — testing infrastructure is foundational. Without it, every PR relies entirely on manual verification, increasing the risk of regressions as the codebase grows.
Generated by NREM Mode with Omni
Summary
The ProofSnap extension has zero test files, no test runner, and no testing libraries in its dependencies. All quality assurance currently relies on manual testing, TypeScript type checking, and AI-assisted code review. This gap was visible in PR #9 where code quality issues (untrimmed inputs, accessibility gaps, security flaws) were caught only during human/Copilot review rather than automated tests.
Evidence
package.jsonhas no test-related scripts or dependencies__tests__/,*.test.ts, or*.spec.tsfiles exist anywhere in the codebaseScreenshotService.tshas an export comment "for testing (if needed)" but no tests were writtenProposed Approach
chromeAPI mocks — stubchrome.storage,chrome.runtime,chrome.tabsfor unit testsStorageService— auth token management, settings persistenceIndexedDBService— asset CRUD operationsUploadService— queue management, retry logic, error recoveryAuthService— login/logout flows, token handlingtestscript topackage.jsonPriority
High — testing infrastructure is foundational. Without it, every PR relies entirely on manual verification, increasing the risk of regressions as the codebase grows.
Generated by NREM Mode with Omni