diff --git a/bruno/neon-sprawl-server/inventory/Get inventory.bru b/bruno/neon-sprawl-server/inventory/Get inventory.bru index 60e701e..93730cd 100644 --- a/bruno/neon-sprawl-server/inventory/Get inventory.bru +++ b/bruno/neon-sprawl-server/inventory/Get inventory.bru @@ -6,7 +6,8 @@ meta { docs { NEO-55: per-player inventory read model; join with GET /game/world/item-definitions for stackMax and slot kinds. - Fresh dev server seeds dev-local-1 with empty 24+1 slot grid. + Does not assume a fresh server — dev-local-1 inventory persists across Bruno runs (in-memory/Postgres). + Restart server (or truncate DB in Postgres mode) to see an all-empty grid again. } get { @@ -28,14 +29,22 @@ tests { expect(body.equipmentSlots.length).to.equal(1); }); - test("empty slots omit itemId and use quantity 0", function () { + test("empty slots omit itemId; occupied slots include itemId and positive quantity", function () { const body = res.getBody(); - for (const slot of body.bagSlots) { + const assertSlotShape = (slot) => { expect(slot.slotIndex).to.be.a("number"); - expect(slot.quantity).to.equal(0); - expect(slot.itemId).to.equal(undefined); + expect(slot.quantity).to.be.a("number"); + expect(slot.quantity).to.be.at.least(0); + if (slot.quantity === 0) { + expect(slot.itemId).to.equal(undefined); + } else { + expect(slot.itemId).to.be.a("string"); + expect(slot.itemId.length).to.be.at.least(1); + } + }; + for (const slot of body.bagSlots) { + assertSlotShape(slot); } - expect(body.equipmentSlots[0].quantity).to.equal(0); - expect(body.equipmentSlots[0].itemId).to.equal(undefined); + assertSlotShape(body.equipmentSlots[0]); }); } diff --git a/bruno/neon-sprawl-server/inventory/folder.bru b/bruno/neon-sprawl-server/inventory/folder.bru index 238dd15..508c5b3 100644 --- a/bruno/neon-sprawl-server/inventory/folder.bru +++ b/bruno/neon-sprawl-server/inventory/folder.bru @@ -3,8 +3,7 @@ meta { } docs { - NEO-55 inventory HTTP. Run GET first on a fresh dev server for empty 24+1 grid. - POST add/remove mutate dev-local-1; cumulative stacks from prior manual runs can make - Post inventory add assertions use at.least(5). Restart server (or truncate DB in Postgres - mode) for a clean inventory baseline. + NEO-55 inventory HTTP. GET does not assume an empty grid — dev-local-1 inventory persists across runs. + POST add/remove mutate dev-local-1; cumulative stacks from prior runs make add assertions use at.least(5). + Restart server (or truncate DB in Postgres mode) for a clean inventory baseline. }