44 lines
3.4 KiB
Markdown
44 lines
3.4 KiB
Markdown
# 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` |
|