diablo2-web/TEST_READY.md

44 lines
3.4 KiB
Markdown
Raw Blame History

This file contains ambiguous Unicode characters

This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.

# TEST_READY — Diablo II: Lord of Destruction v1.13c Player Skill System E2E Test Suite
## Status: **READY** (`144 / 144` E2E Tests Passing, `npx tsc --noEmit` Exit Code `0`)
## 1. Test Runner Command
```bash
npx vitest run tests/e2e-skills-113c/
```
To run with strict M5 repository & Gitea artifact enforcement (`src/data/gitea-skill-issues.json` and `src/game/skills/registry.ts` required on `main`):
```bash
D2WEB_M5_STRICT=1 npx vitest run tests/e2e-skills-113c/
```
---
## 2. 4-Tier E2E Suite Summary (`tests/e2e-skills-113c/`)
| Tier | File Path | Required Cases | Implemented Cases | Pass / Total | Execution Time |
|---|---|---:|---:|---:|---:|
| **Tier 1: Feature Coverage** | `tests/e2e-skills-113c/tier1-feature-coverage.test.ts` | `>= 55` (`>= 5` / feature) | **60** | `60 / 60` (`100%`) | `~1.66s` |
| **Tier 2: Boundary & Corner Cases** | `tests/e2e-skills-113c/tier2-boundary-corner.test.ts` | `>= 55` (`>= 5` / feature) | **56** | `56 / 56` (`100%`) | `~0.38s` |
| **Tier 3: Cross-Feature Combinations** | `tests/e2e-skills-113c/tier3-cross-feature-combinations.test.ts` | `>= 15` | **16** | `16 / 16` (`100%`) | `~0.25s` |
| **Tier 4: Real-World Scenarios** | `tests/e2e-skills-113c/tier4-real-world-scenarios.test.ts` | `>= 10` | **12** | `12 / 12` (`100%`) | `~0.35s` |
| **Total** | **`tests/e2e-skills-113c/*.test.ts`** | **`>= 135`** | **144** | **`144 / 144` (`100%`)** | **`~3.24s`** |
---
## 3. Feature Coverage Breakdown (`PROJECT.md § Feature Inventory`)
| Feature # | Feature Name | Milestone | Tier 1 (`tier1-feature-coverage.test.ts`) | Tier 2 (`tier2-boundary-corner.test.ts`) | Tier 3 (`tier3-cross-feature-combinations.test.ts`) | Tier 4 (`tier4-real-world-scenarios.test.ts`) |
|---:|---|---|---:|---:|---|---|
| **F1** | Worktree & `main` Reconciliation + 1.13c Ground Truth Stack | M1 | 5 (`F1.1–F1.5`) | 5 (`F1.B1–F1.B5`) | — | `S11, S12` |
| **F2** | 1.13c MPQ Data Registry (`D2DataRegistry`) | M1 | 6 (`F2.1–F2.6`) | 5 (`F2.B1–F2.B5`) | `C1–C16` | `S1–S10` |
| **F3** | `D2Common` `calc` AST Formula Evaluator | M1 | 6 (`F3.1–F3.6`) | 6 (`F3.B1–F3.B6`) | `C1–C16` | `S1–S10` |
| **F4** | `UnitStatList` & `StateBus` (`HitShift=8`, Curses, Auras) | M1 | 5 (`F4.1–F4.5`) | 5 (`F4.B1–F4.B5`) | `C3, C4, C7, C9, C13` | `S2, S3, S5, S6` |
| **F5** | 1.13c `RollToHit` & `SUnitDmg` Combat Pipeline | M1 | 6 (`F5.1–F5.6`) | 5 (`F5.B1–F5.B5`) | `C1, C2, C5, C6, C8, C10` | `S1–S7` |
| **F6** | `AnimData.d2` Dispatcher, `MissileEngine`, `AuraScanner`, `SummonManager` | M1 | 6 (`F6.1–F6.6`) | 5 (`F6.B1–F6.B5`) | `C11, C12, C14, C15` | `S1–S9, S11` |
| **F7** | 7-Class DCC/COF/Missile/Overlay Renderer & Deterministic Arena (`?arena=1`) | M1 | 5 (`F7.1–F7.5`) | 5 (`F7.B1–F7.B5`) | — | `S1–S9, S11` |
| **F8** | Gitea Milestone & 221 Per-Skill Tracking Issues | M2 | 5 (`F8.1–F8.5`) | 5 (`F8.B1–F8.B5`) | — | `S10, S12` |
| **F9** | R3 Cohort A: Universal (11), Amazon (30), Sorceress (30), Necromancer (30) (`101` Skills) | M3 | 6 (`F9.1–F9.6`) | 5 (`F9.B1–F9.B5`) | `C1–C3, C6, C10, C11, C13` | `S1, S2, S3, S8` |
| **F10** | R3 Cohort B: Paladin (30), Barbarian (30), Druid (30), Assassin (30) (`120` Skills) | M4 | 5 (`F10.1–F10.5`) | 5 (`F10.B1–F10.B5`) | `C4, C5, C7–C9, C12, C14–C16` | `S4, S5, S6, S7` |
| **F11** | Final E2E Test Pass, `SkillModule` Registry & Cleanliness Audit | M5 | 5 (`F11.1–F11.5`) | 5 (`F11.B1–F11.B5`) | — | `S10, S12` |