36 lines
2.0 KiB
Markdown
36 lines
2.0 KiB
Markdown
# Manual QA — NEO-56 (inventory telemetry hook sites)
|
|
|
|
Reference: [implementation plan](../plans/NEO-56-implementation-plan.md), [NEO-54 implementation plan](../plans/NEO-54-implementation-plan.md) (inventory engine), [NEO-55 implementation plan](../plans/NEO-55-implementation-plan.md) (inventory HTTP).
|
|
|
|
## Preconditions
|
|
|
|
- Run `NeonSprawl.Server` (`dotnet run` from `server/NeonSprawl.Server`; default `http://localhost:5253`) if exercising Bruno; not required for code review only.
|
|
- This story adds **comments only**; inventory behavior matches NEO-54/NEO-55.
|
|
|
|
## Code review check
|
|
|
|
- [ ] Open `server/NeonSprawl.Server/Game/Items/PlayerInventoryOperations.cs`.
|
|
- [ ] **`TryAddStack`:** confirm **`item_created`** comment block immediately before **`Applied`** return (successful add only).
|
|
- [ ] **`TryAddStack` / `TryRemoveStack`:** confirm **`inventory_transfer_denied`** hook on post-mutation **`Denied`** returns (`inventory_full`, `insufficient_quantity`).
|
|
- [ ] **`Deny`:** confirm **`inventory_transfer_denied`** hook covers early validation denies (`invalid_quantity`, `invalid_item`).
|
|
- [ ] Confirm **`TODO(E9.M1)`** markers and planned payload fields; **no** new `ILogger` or metrics calls.
|
|
- [ ] Confirm **no** duplicate hook comments in `PlayerInventoryApi.cs`.
|
|
- [ ] Open `PlayerInventoryReasonCodes.cs` — summary cross-references NEO-56 hook anchor.
|
|
- [ ] Open [server README — Player inventory (NEO-54 store, NEO-55 HTTP)](../../server/README.md#player-inventory-neo-54-store-neo-55-http) — NEO-56 telemetry subsection present.
|
|
|
|
## Regression (optional)
|
|
|
|
```bash
|
|
cd server && dotnet test NeonSprawl.sln
|
|
```
|
|
|
|
Expect all tests pass (comments-only change).
|
|
|
|
## Bruno (optional sanity)
|
|
|
|
From `bruno/neon-sprawl-server/inventory/` against a running server:
|
|
|
|
- **Get inventory** — 200 empty grid for `dev-local-1`.
|
|
- **Post inventory add** — `applied: true` unchanged.
|
|
- **Post inventory add deny invalid item** — `applied: false`, `reasonCode: invalid_item` unchanged.
|