meta { name: GET combat targets type: http seq: 1 } script:pre-request { const { resetPrototypeCombatTargets } = require("./scripts/combat-targets-reset-helper.js"); await resetPrototypeCombatTargets(bru); } get { url: {{baseUrl}}/game/world/combat-targets body: none auth: none } tests { test("returns 200 JSON with schema v1 and targets array", function () { expect(res.getStatus()).to.equal(200); expect(res.getHeader("content-type")).to.contain("application/json"); const body = res.getBody(); expect(body.schemaVersion).to.equal(1); expect(body.targets).to.be.an("array"); expect(body.targets.length).to.equal(2); }); test("targets are ascending by targetId (ordinal)", function () { const body = res.getBody(); const ids = body.targets.map((x) => x.targetId); const sorted = [...ids].sort((a, b) => (a < b ? -1 : a > b ? 1 : 0)); expect(ids).to.eql(sorted); }); test("prototype registry targets match id order", function () { const body = res.getBody(); const ids = body.targets.map((x) => x.targetId); expect(ids).to.eql([ "prototype_target_alpha", "prototype_target_beta", ]); }); test("both targets start at full HP on fresh server", function () { const body = res.getBody(); for (const row of body.targets) { expect(row.maxHp).to.equal(100); expect(row.currentHp).to.equal(100); expect(row.defeated).to.equal(false); } }); }