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
parent
32fbcec766
commit
adc34e0a9f
|
|
@ -1,7 +1,7 @@
|
|||
meta {
|
||||
name: GET gig progression after defeat spine (NEO-44)
|
||||
type: http
|
||||
seq: 10
|
||||
seq: 31
|
||||
}
|
||||
|
||||
docs {
|
||||
|
|
|
|||
|
|
@ -1,11 +1,10 @@
|
|||
meta {
|
||||
name: Gig progression folder
|
||||
seq: 1
|
||||
}
|
||||
|
||||
docs {
|
||||
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.
|
||||
Cross-link: bruno/neon-sprawl-server/ability-cast/ and combat-targets/
|
||||
}
|
||||
|
|
|
|||
|
|
@ -5,7 +5,7 @@ meta {
|
|||
}
|
||||
|
||||
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 {
|
||||
|
|
@ -21,7 +21,7 @@ script:pre-request {
|
|||
},
|
||||
{ headers: { "Content-Type": "application/json" } },
|
||||
);
|
||||
for (let i = 0; i < 10; i++) {
|
||||
while (true) {
|
||||
const res = await axios.post(
|
||||
`${baseUrl}/game/players/${playerId}/interact`,
|
||||
{
|
||||
|
|
@ -30,9 +30,13 @@ script:pre-request {
|
|||
},
|
||||
{ headers: { "Content-Type": "application/json" } },
|
||||
);
|
||||
if (!res.data.allowed) {
|
||||
throw new Error(`expected gather ${i + 1}/10 to succeed, got ${res.data.reasonCode}`);
|
||||
if (res.data?.allowed === true) {
|
||||
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)}`);
|
||||
}
|
||||
}
|
||||
|
||||
|
|
|
|||
Loading…
Reference in New Issue