neon-sprawl/bruno/neon-sprawl-server/craft/Post craft deny invalid qua...

54 lines
1.4 KiB
Plaintext

meta {
name: POST craft deny invalid quantity
type: http
seq: 4
}
docs {
NEO-70: non-positive quantity denies with invalid_quantity without consuming inputs.
}
script:pre-request {
const { ensureItemQuantity, getInventory, sumItemQuantity } = require("./scripts/inventory-api-helper.js");
await ensureItemQuantity(bru, "scrap_metal_bulk", 5);
const inventory = await getInventory(bru);
bru.setVar("scrapBeforeInvalidQuantityDeny", sumItemQuantity(inventory, "scrap_metal_bulk"));
}
post {
url: {{baseUrl}}/game/players/{{playerId}}/craft
body: json
auth: none
}
headers {
content-type: application/json
}
body:json {
{
"schemaVersion": 1,
"recipeId": "refine_scrap_standard",
"quantity": 0
}
}
script:post-response {
const { getInventory, sumItemQuantity } = require("./scripts/inventory-api-helper.js");
const inventory = await getInventory(bru);
bru.setVar("scrapAfterInvalidQuantityDeny", sumItemQuantity(inventory, "scrap_metal_bulk"));
}
tests {
test("denies with invalid_quantity without consuming scrap", function () {
expect(res.getStatus()).to.equal(200);
const body = res.getBody();
expect(body.schemaVersion).to.equal(1);
expect(body.success).to.equal(false);
expect(body.reasonCode).to.equal("invalid_quantity");
expect(bru.getVar("scrapAfterInvalidQuantityDeny")).to.equal(
bru.getVar("scrapBeforeInvalidQuantityDeny"),
);
});
}