From 0f846f90b9639be85067d93e6c0221a7a7403aaf Mon Sep 17 00:00:00 2001 From: VinPropane Date: Sun, 24 May 2026 15:51:32 -0400 Subject: [PATCH] NEO-63: fix Bruno depletion test node isolation. Use prototype_urban_bulk_delta so earlier alpha gathers in the collection do not pre-deplete capacity under CI Postgres persistence. --- .../interaction/Post interact depleted node deny.bru | 9 +++++---- docs/manual-qa/NEO-63.md | 12 ++++++++++-- docs/plans/NEO-63-implementation-plan.md | 2 +- 3 files changed, 16 insertions(+), 7 deletions(-) diff --git a/bruno/neon-sprawl-server/interaction/Post interact depleted node deny.bru b/bruno/neon-sprawl-server/interaction/Post interact depleted node deny.bru index 9964c31..0f9bc77 100644 --- a/bruno/neon-sprawl-server/interaction/Post interact depleted node deny.bru +++ b/bruno/neon-sprawl-server/interaction/Post interact depleted node deny.bru @@ -5,18 +5,19 @@ meta { } docs { - NEO-63: pre-request exhausts prototype_resource_node_alpha capacity (10 successful gathers), then this interact should deny with node_depleted. + NEO-63: uses prototype_urban_bulk_delta (not alpha) so earlier interaction requests in this collection do not pre-deplete capacity. Pre-request exhausts the node (10 successful gathers), then this interact should deny with node_depleted. } script:pre-request { const axios = require("axios"); const baseUrl = bru.getEnvVar("baseUrl") || bru.getVar("baseUrl"); const playerId = bru.getEnvVar("playerId") || bru.getVar("playerId"); + const nodeId = "prototype_urban_bulk_delta"; await axios.post( `${baseUrl}/game/players/${playerId}/move`, { schemaVersion: 1, - target: { x: 10, y: 0.9, z: -6 }, + target: { x: 16, y: 0.9, z: 0 }, }, { headers: { "Content-Type": "application/json" } }, ); @@ -25,7 +26,7 @@ script:pre-request { `${baseUrl}/game/players/${playerId}/interact`, { schemaVersion: 1, - interactableId: "prototype_resource_node_alpha", + interactableId: nodeId, }, { headers: { "Content-Type": "application/json" } }, ); @@ -48,7 +49,7 @@ headers { body:json { { "schemaVersion": 1, - "interactableId": "prototype_resource_node_alpha" + "interactableId": "prototype_urban_bulk_delta" } } diff --git a/docs/manual-qa/NEO-63.md b/docs/manual-qa/NEO-63.md index ec1be0e..c067ea1 100644 --- a/docs/manual-qa/NEO-63.md +++ b/docs/manual-qa/NEO-63.md @@ -46,12 +46,20 @@ curl -sS "${BASE}/game/players/${ID}/skill-progression" ## Depletion deny -Repeat interact on the same node until capacity is exhausted (**10** successful gathers on a fresh node), then interact again: +Uses **`prototype_urban_bulk_delta`** (anchor **18, 0**) so earlier Bruno interaction requests on alpha do not pre-deplete capacity in the shared CI Postgres store. Move in range (**16, 0**), exhaust with **10** successful interacts on delta, then interact again: + +```bash +curl -sS -i -X POST "${BASE}/game/players/${ID}/move" \ + -H "Content-Type: application/json" \ + -d '{"schemaVersion":1,"target":{"x":16,"y":0.9,"z":0}}' +``` + +(Repeat interact on **`prototype_urban_bulk_delta`** ten times with **`allowed: true`**, then:) ```bash curl -sS -i -X POST "${BASE}/game/players/${ID}/interact" \ -H "Content-Type: application/json" \ - -d '{"schemaVersion":1,"interactableId":"prototype_resource_node_alpha"}' + -d '{"schemaVersion":1,"interactableId":"prototype_urban_bulk_delta"}' ``` Expect **HTTP 200**, **`allowed`:** **false**, **`reasonCode`:** **`node_depleted`**. Inventory and XP totals unchanged on that denied request. diff --git a/docs/plans/NEO-63-implementation-plan.md b/docs/plans/NEO-63-implementation-plan.md index 5b4b804..8b68270 100644 --- a/docs/plans/NEO-63-implementation-plan.md +++ b/docs/plans/NEO-63-implementation-plan.md @@ -52,7 +52,7 @@ |------|---------| | `server/NeonSprawl.Server.Tests/Game/Interaction/InteractionResourceNodeGatherIntegrationTests.cs` | HTTP integration: inventory, XP, depletion, terminal, deny registry. | | `bruno/neon-sprawl-server/interaction/Post interact gather then get inventory.bru` | Happy path: interact + assert scrap in bag. | -| `bruno/neon-sprawl-server/interaction/Post interact depleted node deny.bru` | Pre-loop 10 gathers; 11th **`node_depleted`**. | +| `bruno/neon-sprawl-server/interaction/Post interact depleted node deny.bru` | Pre-loop 10 gathers on **`prototype_urban_bulk_delta`** (isolated from alpha requests earlier in collection); 11th **`node_depleted`**. | | `docs/manual-qa/NEO-63.md` | curl gather → inventory + depletion deny. | | `docs/plans/NEO-63-implementation-plan.md` | This plan. |