normogen/web/normogen-web/src
goose 34e3b0b0e0 test: E2E ZK integration tests + frontend lifecycle test
Backend ZK integration tests (tests/zk_integration_tests.rs):
- medication_stored_as_ciphertext: register → create med with opaque blob →
  response echoes blob, no plaintext fields leaked → GET echoes blob.
- appointment_stored_as_ciphertext_with_top_level_status: opaque blob + status
  filter works server-side without decryption.
- health_stat_stored_as_ciphertext: opaque blob, no value/stat_type leaked.
- dose_schedule_adherence_reflects_missed_doses: 1×/day schedule → 30 scheduled,
  1 taken, 29 missed, ~3.3% rate.

Updated medication_tests.rs for the opaque-blob contract (was sending old
plaintext name/dosage fields).

Frontend lifecycle test (useStore.test.ts):
- Full ZK round-trip with real WebCrypto: setup → encrypt → verify ciphertext →
  unlock with password → decrypt → recover via phrase → rewrap under new
  password → decrypt with new key. Data survives the full lifecycle.

Verified: backend 24 tests 0 warnings; frontend 25 tests, build clean.
2026-07-05 00:35:33 -03:00
..
components feat: dose scheduling + health stats zero-knowledge (full stack) 2026-07-04 14:00:46 -03:00
crypto feat: rate limiting + E2E crypto lifecycle test 2026-07-03 21:57:39 -03:00
pages feat(web): unlock UX — re-derive DEK on page reload 2026-07-03 20:21:15 -03:00
services feat: dose scheduling + health stats zero-knowledge (full stack) 2026-07-04 14:00:46 -03:00
store test: E2E ZK integration tests + frontend lifecycle test 2026-07-05 00:35:33 -03:00
test feat: Phase 3c — dose logging + adherence, profile management, tests 2026-06-28 10:32:28 -03:00
types feat: dose scheduling + health stats zero-knowledge (full stack) 2026-07-04 14:00:46 -03:00
App.tsx feat(web): unlock UX — re-derive DEK on page reload 2026-07-03 20:21:15 -03:00
index.css docs(ai): reorganize documentation and update product docs 2026-03-09 11:04:44 -03:00
main.tsx feat(web): Phase 3a — migrate CRA to Vite + make the app runnable 2026-06-28 00:47:19 -03:00
setupTests.ts feat: Phase 3c — dose logging + adherence, profile management, tests 2026-06-28 10:32:28 -03:00
theme.ts feat(web): Phase 3a — migrate CRA to Vite + make the app runnable 2026-06-28 00:47:19 -03:00
vite-env.d.ts feat(web): Phase 3a — migrate CRA to Vite + make the app runnable 2026-06-28 00:47:19 -03:00