4.8 KiB
4.8 KiB
Test Readiness Gate (TEST_READY.md) — D2GS v1.13c Online Gameplay Loops & Server Authority
Status: READY (Tiers 1–5 Complete & Verified)
The 5-tier E2E test suite for all 16 features (F1–F16) — including Tier 1–4 opaque-box requirement coverage and Tier 5 white-box post-implementation adversarial hardening — is implemented and verified at /usr/local/google/home/taodao/diablo2-web/tests/e2e-d2gs-online/.
Test Suite Inventory & Execution Commands
| Tier | Test File | Test Count | Minimum Threshold | Run Command |
|---|---|---|---|---|
| Tier 1 (Core Feature Coverage) | tests/e2e-d2gs-online/tier1-feature-coverage.test.ts |
80 (5 × F1–F16) |
>= 80 (>= 5 / feature) |
npx vitest run tests/e2e-d2gs-online/tier1-feature-coverage.test.ts |
| Tier 2 (Boundary, Corner & Negative) | tests/e2e-d2gs-online/tier2-boundary-corner.test.ts |
80 (5 × F1–F16) |
>= 80 (>= 5 / feature) |
npx vitest run tests/e2e-d2gs-online/tier2-boundary-corner.test.ts |
| Tier 3 (Cross-Feature Integration) | tests/e2e-d2gs-online/tier3-cross-feature.test.ts |
16 | >= 16 |
npx vitest run tests/e2e-d2gs-online/tier3-cross-feature.test.ts |
| Tier 4 (Real-World Session Scenarios) | tests/e2e-d2gs-online/tier4-real-world-scenarios.test.ts |
8 | >= 8 |
npx vitest run tests/e2e-d2gs-online/tier4-real-world-scenarios.test.ts |
| Tier 5 (White-Box Adversarial Hardening) | tests/e2e-d2gs-online/tier5-adversarial-hardening.test.ts |
20 | >= 16 |
npx vitest run tests/e2e-d2gs-online/tier5-adversarial-hardening.test.ts |
| Full E2E Suite (Tiers 1–5) | tests/e2e-d2gs-online/ |
204 | >= 200 |
npx vitest run tests/e2e-d2gs-online |
| TypeScript Typecheck | tsconfig.json |
0 errors | 0 errors | npx tsc --noEmit |
Feature-to-Test Coverage Matrix (F1–F16)
| Feature | Requirement | Tier 1 Tests | Tier 2 Tests | Tier 3 Tests | Tier 4 Scenarios | Tier 5 Adversarial |
|---|---|---|---|---|---|---|
| F1 — Canonical 1.13c Online Item Tooltip Bridge | R1.1 | F1.1–F1.5 (5) |
F1.B1–F1.B5 (5) |
CF1, CF2, CF4, CF9, CF12, CF16 |
Scenarios 1, 4, 8 | T5.1, T5.5 |
| F2 — C2S Container, Belt, NPC, Merc, Warp, Party & Trade Packet Encoders | R1.2, R2–R5 | F2.1–F2.5 (5) |
F2.B1–F2.B5 (5) |
CF3 + all C2S assertions |
Scenarios 1–8 | T5.18, T5.19, T5.20 |
| F3 — Server-Authoritative Container, Belt, Identify, Socket & Tome UI Wiring | R1.2 | F3.1–F3.5 (5) |
F3.B1–F3.B5 (5) |
CF1, CF2, CF3, CF10 |
Scenarios 1, 2 | T5.1, T5.2, T5.3, T5.4 |
F4 — Weapon Set II (bodyLoc 11 & 12) Sync |
R1.3 | F4.1–F4.5 (5) |
F4.B1–F4.B5 (5) |
CF4 |
Scenario 1 | T5.6 |
| F5 — Act 1–5 Town & Quest NPC Descriptors | R2.1 | F5.1–F5.5 (5) |
F5.B1–F5.B5 (5) |
CF5, CF6, CF16 |
Scenarios 3, 8 | T5.8, T5.9, T5.17 |
F6 — NPC Info (0x27), SetNPCTalk (0x91), Talk Submenu & 0x31 QuestMessage |
R2.2 | F6.1–F6.5 (5) |
F6.B1–F6.B5 (5) |
CF5 |
Scenario 3 | T5.7, T5.8, T5.9 |
F7 — Act Travel Menu Options & C2S 0x38 EntityAction |
R2.3 | F7.1–F7.5 (5) |
F7.B1–F7.B5 (5) |
CF6 |
Scenario 3 | T5.19 |
F8 — Mercenary World State (0x4E, 0x4F, 0x9B & lifePct) |
R3.1 | F8.1–F8.5 (5) |
F8.B1–F8.B5 (5) |
CF7, CF8, CF10, CF14 |
Scenarios 2, 4 | T5.10, T5.11 |
F9 — Mercenary Hire (0x36) & Resurrect (0x62) UI |
R3.2 | F9.1–F9.5 (5) |
F9.B1–F9.B5 (5) |
CF7, CF8 |
Scenario 4 | T5.10, T5.19 |
F10 — Mercenary HUD Portrait & Paperdoll (O Hotkey, 0x61 MercItem) |
R3.3 | F10.1–F10.5 (5) |
F10.B1–F10.B5 (5) |
CF9, CF10 |
Scenarios 2, 4 | T5.10, T5.11 |
F11 — Dungeon/Stair Warp Clicking (0x09 AssignWarp → C2S 0x09 WarpTo) |
R4.1 | F11.1–F11.5 (5) |
F11.B1–F11.B5 (5) |
CF11 |
Scenario 5 | T5.12, T5.19 |
F12 — Portal Ownership Hover (0x60/0x82) & Ground Item Labels (0x16) |
R4.2 | F12.1–F12.5 (5) |
F12.B1–F12.B5 (5) |
CF11, CF12, CF15 |
Scenario 5 | T5.12, T5.19 |
F13 — SkillCast (0x4C/0x4D/0x6C/0x99/0x9A) Animation |
R4.3 | F13.1–F13.5 (5) |
F13.B1–F13.B5 (5) |
CF13 |
Scenario 6 | T5.13 |
F14 — Player Death Overlay & C2S 0x41 Resurrect |
R4.4 | F14.1–F14.5 (5) |
F14.B1–F14.B5 (5) |
CF13, CF14 |
Scenario 6 | T5.14, T5.19 |
F15 — Multiplayer Party State & Party Panel (P Hotkey, 0x5D/0x5E) |
R5.1 | F15.1–F15.5 (5) |
F15.B1–F15.B5 (5) |
CF15 |
Scenario 7 | T5.16, T5.19 |
F16 — Player-to-Player Trade UI (0x77–0x79 & C2S 0x4F) & Quest Reward Panels |
R5.2, R5.3 | F16.1–F16.5 (5) |
F16.B1–F16.B5 (5) |
CF16 |
Scenario 8 | T5.15, T5.17, T5.18 |