You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
```
Test Files 2 passed | 7 skipped (9)
Tests 21 passed | 108 todo (129)
```
Per-file todo counts:
File
it.todo
crypto-popup.test.ts
23
state.test.ts
18
encryption-flow.test.ts
21
decryption-flow.test.ts
19
message-routing.test.ts
11
detection.test.ts
8
sent-copy.test.ts
8
Each file is essentially a doc string of describe/it.todo lines with no implementation — the entire file gets skipped at runtime. As a result the suite gives a false sense of coverage: 21 passing tests, all in encoding.test.ts and utils.test.ts (pure helpers), while the encryption/decryption/state-management code that PR #68 specifically fixed has zero behavioural tests.
Suggested approach
Pick one of:
Implement — wire up a minimal browser.* mock harness (most of these tests need browser.tabs, browser.compose, browser.windows, browser.storage.local). Starting with state.test.ts would cover the lifecycle code touched by PR fix: prevent unencrypted send when encryption is enabled #68. Issue Integration tests #53 ("Integration tests") tracks higher-level end-to-end coverage; this issue is the unit-test gap underneath it.
Delete — if these will not be implemented soon, remove the placeholder files so the test report reflects reality. The todo list can move to a tracking issue or `tests/README.md`.
Mixing the two is also fine — the core problem is that all 108 are sitting in the suite as no-ops.
Problem
npm testcurrently reports:```
Test Files 2 passed | 7 skipped (9)
Tests 21 passed | 108 todo (129)
```
Per-file todo counts:
Each file is essentially a doc string of describe/it.todo lines with no implementation — the entire file gets skipped at runtime. As a result the suite gives a false sense of coverage: 21 passing tests, all in
encoding.test.tsandutils.test.ts(pure helpers), while the encryption/decryption/state-management code that PR #68 specifically fixed has zero behavioural tests.Suggested approach
Pick one of:
browser.*mock harness (most of these tests needbrowser.tabs,browser.compose,browser.windows,browser.storage.local). Starting withstate.test.tswould cover the lifecycle code touched by PR fix: prevent unencrypted send when encryption is enabled #68. Issue Integration tests #53 ("Integration tests") tracks higher-level end-to-end coverage; this issue is the unit-test gap underneath it.Mixing the two is also fine — the core problem is that all 108 are sitting in the suite as no-ops.
Files
Related: #53.