29 lines
1.7 KiB
Markdown
29 lines
1.7 KiB
Markdown
# NEO-53 — Manual QA checklist
|
|
|
|
| Field | Value |
|
|
|-------|-------|
|
|
| Key | NEO-53 |
|
|
| Title | E3.M3: GET world item-definitions + Bruno |
|
|
| Linear | https://linear.app/neon-sprawl/issue/NEO-53/e3m3-get-world-item-definitions-bruno |
|
|
| Plan | `docs/plans/NEO-53-implementation-plan.md` |
|
|
| Branch | `NEO-53-get-world-item-definitions-bruno` |
|
|
|
|
## Preconditions
|
|
|
|
- Server built and configured with default `Content:ItemsDirectory` pointing at repo `content/items` (local dev / `InMemoryWebApplicationFactory` tests use the same layout).
|
|
|
|
## Checklist
|
|
|
|
1. Start **`NeonSprawl.Server`** (e.g. `dotnet run` from `server/NeonSprawl.Server`).
|
|
2. **`GET /game/world/item-definitions`** — expect **200** and **`Content-Type`** containing **`application/json`**. Example (default dev URL from `Properties/launchSettings.json` and Bruno `environments/Local.bru`; change the host/port if yours differs):
|
|
|
|
```bash
|
|
curl -sS -i "http://localhost:5253/game/world/item-definitions"
|
|
```
|
|
|
|
3. Parse JSON — expect **`schemaVersion`** === **1**, **`items`** array length **6**.
|
|
4. Confirm **`id`** values include the frozen prototype six: **`contract_handoff_token`**, **`field_stim_mk0`**, **`prototype_armor_shell`**, **`refined_plate_stock`**, **`scrap_metal_bulk`**, **`survey_drone_kit`** (ordinal order).
|
|
5. Spot-check **`scrap_metal_bulk`**: **`displayName`** “Scrap Metal (Bulk)”, **`prototypeRole`** **`material`**, **`stackMax`** **999**, **`inventorySlotKind`** **`bag`**.
|
|
6. Spot-check **`prototype_armor_shell`**: **`inventorySlotKind`** **`equipment`**, **`prototypeRole`** **`equip_stub`**.
|
|
7. Optional: run **`bruno/neon-sprawl-server/item-definitions/Get item definitions.bru`** against the same **`baseUrl`** (see `environments/Local.bru`).
|