Files
healer-man/server/companion-spec-readiness.test.mjs
2026-09-19 21:01:51 -04:00

26 lines
1.0 KiB
JavaScript

import assert from "node:assert/strict";
import test from "node:test";
import {
cloneDefaultCompanionSpecReadinessPolicy,
normalizeCompanionSpecReadinessPolicy,
} from "./companion-spec-readiness.mjs";
test("default companion readiness policy certifies the five focused specs", () => {
const policy = normalizeCompanionSpecReadinessPolicy(cloneDefaultCompanionSpecReadinessPolicy());
assert.deepEqual(Object.entries(policy.statuses).filter(([, status]) => status === "ready").map(([id]) => id), [
"warrior:protection",
"hunter:marksmanship",
"rogue:assassination",
"priest:discipline",
"mage:fire",
]);
});
test("companion readiness validation rejects invalid coverage and unknown specs", () => {
assert.throws(() => normalizeCompanionSpecReadinessPolicy({ schemaVersion: 1, statuses: {} }), /tank specialization/);
assert.throws(() => normalizeCompanionSpecReadinessPolicy({
schemaVersion: 1,
statuses: { ...cloneDefaultCompanionSpecReadinessPolicy().statuses, "future:spec": "ready" },
}), /Unknown WoW specialization/);
});