Release Healer Man 0.1.15
This commit is contained in:
1 parent
7b41b102fa
commit
f49e54f35f
43 files changed
+1478
-112
No files matched your search
@@ -0,0 +1,38 @@
|
||||
import { describe, expect, it } from "vitest";
|
||||
import { CLASSES } from "../app/characterCatalog";
|
||||
import {
|
||||
SPECIALIZATION_DEFINITIONS,
|
||||
specializationById,
|
||||
specializationsForClass,
|
||||
} from "./specializationCatalog";
|
||||
|
||||
describe("specialization registry", () => {
|
||||
it("covers every classic and CoA specialization with stable unique IDs", () => {
|
||||
expect(new Set(SPECIALIZATION_DEFINITIONS.map((definition) => definition.id)).size)
|
||||
.toBe(SPECIALIZATION_DEFINITIONS.length);
|
||||
for (const characterClass of CLASSES.filter((definition) => definition.mode !== "rom")) {
|
||||
const actual = specializationsForClass(characterClass.id).map((definition) => definition.displayName);
|
||||
const expected = characterClass.id === "druid"
|
||||
? ["Balance", "Feral (Bear)", "Feral (Cat)", "Restoration"]
|
||||
: [...characterClass.specializations];
|
||||
expect(actual, characterClass.name).toEqual(expect.arrayContaining(expected));
|
||||
expect(actual, characterClass.name).toHaveLength(expected.length);
|
||||
}
|
||||
});
|
||||
|
||||
it("links both Feral variants to Feral Combat with distinct runtime roles", () => {
|
||||
const bear = specializationById("druid:feral-bear");
|
||||
const cat = specializationById("druid:feral-cat");
|
||||
expect(bear).toMatchObject({ role: "tank", talentTree: "Feral Combat" });
|
||||
expect(cat).toMatchObject({ role: "damage", talentTree: "Feral Combat" });
|
||||
});
|
||||
|
||||
it("authors CoA support-oriented specializations into the three-role runtime", () => {
|
||||
const coa = SPECIALIZATION_DEFINITIONS.filter((definition) => (
|
||||
CLASSES.find((entry) => entry.id === definition.classId)?.mode === "conquest"
|
||||
));
|
||||
expect(coa.length).toBeGreaterThan(60);
|
||||
expect(coa.every((definition) => ["tank", "healer", "damage"].includes(definition.role))).toBe(true);
|
||||
expect(specializationById("barbarian:ancestry")?.role).toBe("damage");
|
||||
});
|
||||
});
|
||||
Reference in new issue
Block a user