feat(04-01): install new deps + scaffold API test harness with Wave-0 RED stubs

- Add react-router@7, @dnd-kit/core, @dnd-kit/sortable, fractional-indexing to PWA
- Add fractional-indexing to API (rank generation server-side)
- ioredis NOT added (in-memory EventEmitter per RESEARCH Plan 02 justification)
- Create apps/api/test/setup.ts with afterEach DB cleanup for list tables
- Wire test.setupFiles in apps/api/vitest.config.ts
- Add 4 Wave-0 RED stub test files (LIST-01/02/03/04, D-04, D-11, D-07)
- All stubs run as todo, not import-error
This commit is contained in:
Lucas Berger
2026-06-09 11:49:10 -04:00
parent 95b13e6633
commit 39d4ec84c0
9 changed files with 241 additions and 2 deletions
+20
View File
@@ -0,0 +1,20 @@
/**
* Wave-0 RED stubs for useListSSE hook.
*
* Covers D-11: bounded (capped exponential) backoff before showing the
* "disconnected / updates paused" indicator.
*
* Tests use a mock EventSource that simulates connect/disconnect scenarios.
* Downstream plans implement the actual useListSSE.ts hook.
*
* Run: pnpm --filter @familysync/pwa test
*/
describe('useListSSE — D-11 bounded backoff', () => {
it.todo('starts connected when EventSource fires the open event')
it.todo('attempts to reconnect with exponential backoff on error')
it.todo('stops retrying after the configured max attempts and sets status to disconnected')
it.todo('resets backoff counter on successful reconnect')
it.todo('calls onMessage callback with parsed event data when a message arrives')
it.todo('cleans up EventSource on unmount')
})