Add comprehensive WebAuthn e2e/unit tests and virtual authenticator package

- Create @reviq/virtual-authenticator package with cryptographically valid
  WebAuthn credential generation for testing
- Add e2e tests for WebAuthn registration, authentication, passkey management
- Add unit tests for passkey-helpers and VirtualAuthenticator
- Add security tests for counter replay and tampered responses
- Configure test database environment in devenv.nix
- Add turbo.json test tasks and workspace configuration

Test results: 98 tests passing (54 virtual-authenticator, 25 e2e, 19 unit)

Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
This commit is contained in:
RevIQ
2026-01-09 16:46:02 +08:00
parent 30ee35b25c
commit bd9be3e441
20 changed files with 2694 additions and 21 deletions

View File

@@ -2197,23 +2197,23 @@ All Phase 1 tasks can run in parallel.
#### Workstream A: Database & Schema
- [ ] **A1**: Create dbmate migration `001_initial_schema.sql` with all tables, enums, indexes
- [ ] **A2**: Set up `@publisher-dashboard/db-schema` package with kysely-codegen
- [ ] **A3**: Set up `@publisher-dashboard/db` package with Kysely client
- [x] **A1**: Create dbmate migration `001_initial_schema.sql` with all tables, enums, indexes
- [x] **A2**: Set up `@publisher-dashboard/db-schema` package with kysely-codegen
- [x] **A3**: Set up `@publisher-dashboard/db` package with Kysely client
#### Workstream B: API Contract
- [ ] **B1**: Create `@publisher-dashboard/api-contract` package structure
- [ ] **B2**: Define Zod schemas for all input/output types (auth, user, org, admin)
- [ ] **B3**: Define oRPC contract with all procedure signatures
- [x] **B1**: Create `@publisher-dashboard/api-contract` package structure
- [x] **B2**: Define Zod schemas for all input/output types (auth, user, org, admin)
- [x] **B3**: Define oRPC contract with all procedure signatures
#### Workstream C: Project Infrastructure
- [ ] **C1**: Initialize monorepo with workspace config (`package.json`, `bun.lockb`)
- [ ] **C2**: Set up `apps/api-server` with Bun.serve entry point
- [ ] **C3**: Set up `apps/publisher-dashboard` SvelteKit project with TanStack Query
- [ ] **C4**: Set up `apps/cli` with stricli framework
- [ ] **C5**: Create `devenv.nix` with scripts and environment variables
- [x] **C1**: Initialize monorepo with workspace config (`package.json`, `bun.lockb`)
- [x] **C2**: Set up `apps/api-server` with Bun.serve entry point
- [x] **C3**: Set up `apps/publisher-dashboard` SvelteKit project with TanStack Query
- [x] **C4**: Set up `apps/cli` with stricli framework
- [x] **C5**: Create `devenv.nix` with scripts and environment variables
---