NEO-44: Fix Bruno collection ordering and interaction pre-request

Remove gig-progression folder seq so defeat spine runs after ability-cast;
run defeat spine at seq 31. Gather until node_depleted in interaction test
so craft spine pollution does not break the depleted-node deny case.
pull/118/head
VinPropane 2026-05-25 12:20:30 -04:00
parent 32fbcec766
commit adc34e0a9f
3 changed files with 10 additions and 7 deletions

View File

@ -1,7 +1,7 @@
meta { meta {
name: GET gig progression after defeat spine (NEO-44) name: GET gig progression after defeat spine (NEO-44)
type: http type: http
seq: 10 seq: 31
} }
docs { docs {

View File

@ -1,11 +1,10 @@
meta { meta {
name: Gig progression folder name: Gig progression folder
seq: 1
} }
docs { docs {
NEO-44: read-only gig XP snapshot (combat defeat path — not E2.M2 skill XP). NEO-44: read-only gig XP snapshot (combat defeat path — not E2.M2 skill XP).
Run order: Get gig progression → Get gig progression after defeat spine (~13s pre-request). Run order (folder runs after ability-cast + combat-targets alphabetically): Get gig progression → Get gig progression after defeat spine (~13s pre-request).
Defeat spine resets prototype target HP via __dev/combat-targets-fixture (same as combat-targets folder) and uses slot 2 to avoid cooldown pollution from earlier folders. Defeat spine resets prototype target HP via __dev/combat-targets-fixture (same as combat-targets folder) and uses slot 2 to avoid cooldown pollution from earlier folders.
Cross-link: bruno/neon-sprawl-server/ability-cast/ and combat-targets/ Cross-link: bruno/neon-sprawl-server/ability-cast/ and combat-targets/
} }

View File

@ -5,7 +5,7 @@ meta {
} }
docs { docs {
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. NEO-63: uses prototype_urban_bulk_delta (not alpha) so earlier interaction requests in this collection do not pre-deplete capacity. Pre-request gathers until node_depleted (craft spine may consume one gather first). POST interact should deny with node_depleted.
} }
script:pre-request { script:pre-request {
@ -21,7 +21,7 @@ script:pre-request {
}, },
{ headers: { "Content-Type": "application/json" } }, { headers: { "Content-Type": "application/json" } },
); );
for (let i = 0; i < 10; i++) { while (true) {
const res = await axios.post( const res = await axios.post(
`${baseUrl}/game/players/${playerId}/interact`, `${baseUrl}/game/players/${playerId}/interact`,
{ {
@ -30,9 +30,13 @@ script:pre-request {
}, },
{ headers: { "Content-Type": "application/json" } }, { headers: { "Content-Type": "application/json" } },
); );
if (!res.data.allowed) { if (res.data?.allowed === true) {
throw new Error(`expected gather ${i + 1}/10 to succeed, got ${res.data.reasonCode}`); continue;
} }
if (res.data?.reasonCode === "node_depleted") {
break;
}
throw new Error(`expected gather to succeed or end with node_depleted, got ${JSON.stringify(res.data)}`);
} }
} }