|
1 | | -# PR_26158_026 Testing Lane Execution Report |
| 1 | +# PR_26158_027 Testing Lane Execution Report |
2 | 2 |
|
3 | 3 | ## Lanes Run |
4 | 4 |
|
5 | 5 | | Lane | Command | Result | |
6 | 6 | | --- | --- | --- | |
7 | | -| Changed-file syntax | `node --check admin/db-viewer.js`; `node --check src/engine/api/mock-db-api-client.js`; `node --check src/engine/api/mock-db-viewer-ui.js`; `node --check tests/playwright/tools/AdminDbViewer.spec.mjs` | PASS | |
8 | | -| Local DB/API snapshot contract validation | Custom Node probe using `tests/helpers/playwrightRepoServer.mjs` with isolated `GAMEFOUNDRY_LOCAL_DB_PATH=tmp/local-db/pr_026_snapshot_contract.json` | PASS | |
| 7 | +| Changed-file syntax | `node --check src/dev-runtime/server/mock-api-router.mjs`; `node --check src/dev-runtime/persistence/mock-db-store.js`; `node --check tests/playwright/tools/AdminDbViewer.spec.mjs`; `node --check tests/playwright/tools/LoginSessionMode.spec.mjs` | PASS | |
| 8 | +| Local DB/API SQLite contract validation | Custom Node probe using `tests/helpers/playwrightRepoServer.mjs`, `node:sqlite`, and isolated `GAMEFOUNDRY_LOCAL_DB_PATH=tmp/local-db/pr_027_sqlite_contract.sqlite` | PASS | |
9 | 9 | | AdminDbViewer Playwright | `npx playwright test tests/playwright/tools/AdminDbViewer.spec.mjs` | PASS, 7/7 | |
10 | | -| Local login mode check | Custom Node probe of `/api/session/modes` | PASS | |
11 | | -| Static import boundary | Focused `rg` checks for forbidden browser imports of `src/dev-runtime`, mock repositories, `LocalDbAdapter`, and DB implementation modules | PASS | |
| 10 | +| LoginSessionMode Playwright | `npx playwright test tests/playwright/tools/LoginSessionMode.spec.mjs` | PASS, 5/5 | |
| 11 | +| Static import boundary | Focused `rg` checks for forbidden browser imports of `node:sqlite`, `DatabaseSync`, `LocalDbAdapter`, `src/dev-runtime`, and mock repositories | PASS | |
| 12 | +| Active source/test JSON-backed Local DB wording check | Focused `rg` for `JSON storage`, `server local JSON`, `local JSON`, and `.json` in active Local DB source/tests | PASS; only normal `response.json()` calls matched | |
12 | 13 | | Changed-file/static validation | `git diff --check` | PASS, with Git line-ending warnings only | |
13 | 14 |
|
14 | | -## Local DB/API Snapshot Contract Probe |
| 15 | +## Local DB/API SQLite Contract Probe |
15 | 16 |
|
16 | 17 | | Assertion | Result | |
17 | 18 | | --- | --- | |
18 | | -| Local Mem snapshot loads through `/api/mock-db/snapshot`. | PASS | |
19 | | -| Local Mem empty tables expose schemas. | PASS | |
20 | | -| Local DB mode selects through `/api/session/mode`. | PASS | |
21 | | -| Local DB Admin resolves through users/roles/user_roles. | PASS | |
22 | | -| Local DB snapshot loads through `/api/mock-db/snapshot`. | PASS | |
23 | | -| Local DB renders live adapter state from the shared server API. | PASS | |
24 | | -| Local DB empty tables expose schemas. | PASS | |
25 | | -| Guest is not stored in Local DB `users`. | PASS | |
26 | | -| Disabled Local DB snapshot fails visibly with `Local DB adapter not configured` and `GAMEFOUNDRY_LOCAL_DB_DISABLE`. | PASS | |
| 19 | +| Local login choices remain exactly `Local Mem` and `Local DB`. | PASS | |
| 20 | +| Local DB mode description names SQLite storage. | PASS | |
| 21 | +| Local DB mode initializes SQLite storage through `/api/session/mode`. | PASS | |
| 22 | +| Local DB resolves Admin through SQLite-backed users/roles/user_roles data. | PASS | |
| 23 | +| `/api/mock-db/snapshot` reads SQLite-backed Local DB state. | PASS | |
| 24 | +| Local DB snapshot includes schemas and empty tables. | PASS | |
| 25 | +| Guest is not stored in SQLite `users`. | PASS | |
| 26 | +| Physical SQLite tables are initialized for `users`, `roles`, `user_roles`, `palette_colors`, `asset_library_items`, and `project_journey_items`. | PASS | |
| 27 | +| SQLite table columns include deterministic schema fields such as `key`, `createdAt`, and `updatedBy`. | PASS | |
| 28 | +| SQLite-backed writes through `/api/dev/testing/mock-db-state` persist and appear in snapshots. | PASS | |
| 29 | +| SQLite-backed data persists across server restart with the same DB file. | PASS | |
| 30 | +| Disabled SQLite snapshot fails visibly with `Local DB adapter not configured`, `SQLite`, and `GAMEFOUNDRY_LOCAL_DB_DISABLE`. | PASS | |
| 31 | +| Disabled SQLite write fails visibly with actionable diagnostic text. | PASS | |
27 | 32 |
|
28 | 33 | ## Playwright Coverage |
29 | 34 |
|
30 | | -AdminDbViewer now covers: |
| 35 | +AdminDbViewer covers: |
31 | 36 |
|
32 | 37 | - Existing Local Mem DB Viewer behavior. |
33 | | -- Local DB read-only display with active mode text. |
34 | | -- Local DB empty table schema/header rendering. |
| 38 | +- SQLite-backed Local DB read-only display. |
| 39 | +- Local DB empty-table schema/header rendering. |
35 | 40 | - Local DB live adapter state rendering. |
36 | 41 | - Local DB unavailable diagnostic rendering. |
37 | 42 | - Absence of Local DB write controls. |
38 | 43 |
|
39 | | -`docs_build/dev/reports/playwright_v8_coverage_report.txt` was regenerated by the targeted Playwright run. |
| 44 | +LoginSessionMode covers: |
| 45 | + |
| 46 | +- Local DB login mode copy updated to SQLite. |
| 47 | +- Local DB session user selection through server API. |
| 48 | +- Direct admin DB Viewer URL access in Local DB mode. |
| 49 | + |
| 50 | +`docs_build/dev/reports/playwright_v8_coverage_report.txt` was regenerated by the targeted Playwright runs. Node emitted the standard experimental warning for `node:sqlite`; validation passed. |
40 | 51 |
|
41 | 52 | ## Skipped Lanes |
42 | 53 |
|
43 | 54 | | Lane | Decision | Reason | |
44 | 55 | | --- | --- | --- | |
45 | | -| LoginSessionMode Playwright | SKIP | No login/session mode source files were changed. A focused `/api/session/modes` probe verified Local Mem and Local DB remain the only local choices. | |
46 | 56 | | Full samples smoke | SKIP | No shared sample loader/framework or sample JSON changed. | |
47 | | -| Full Playwright suite | SKIP | Targeted Admin DB Viewer, server snapshot contract, local mode check, and static import checks cover the changed surfaces. | |
| 57 | +| Full Playwright suite | SKIP | Targeted SQLite contract, Admin DB Viewer, LoginSessionMode, and static import checks cover the changed surfaces. | |
0 commit comments