forked from phenom/healer-man
Update Healer Man server
This commit is contained in:
1 parent
9c5fb4c614
commit
bd073fb00f
113 files changed
+4902
-273
No files matched your search
@@ -13,10 +13,11 @@ import { DUNGEON_MANIFEST } from "./dungeonManifest";
|
||||
import { RUNEWAKER_DUNGEON_DEFINITIONS } from "./generated/runewakerDungeonDefinitions.generated";
|
||||
import { compareDungeonReleaseOrder } from "./dungeonReleaseStage";
|
||||
import availability from "./generated/dungeonAvailability.json";
|
||||
import queuePolicyCatalog from "./generated/dungeonLeaderboardCatalog.generated.json";
|
||||
|
||||
describe("dungeon catalog", () => {
|
||||
it("lists the complete campaign plus both bite-sized Stockades variants", () => {
|
||||
expect(DUNGEON_CATALOG).toHaveLength(86);
|
||||
it("lists the complete campaign and bite-sized variants", () => {
|
||||
expect(DUNGEON_CATALOG).toHaveLength(89);
|
||||
expect(DUNGEON_CATALOG.find((dungeon) => dungeon.id === "stormwind-stockade")).toMatchObject({
|
||||
id: "stormwind-stockade",
|
||||
releaseStage: "beta",
|
||||
@@ -51,13 +52,14 @@ describe("dungeon catalog", () => {
|
||||
expect.objectContaining({ id: "forsaken-abbey" }),
|
||||
);
|
||||
expect(dungeonsByCategory("rom")).toHaveLength(30);
|
||||
expect(dungeonsByCategory("bite-sized").map((dungeon) => dungeon.id))
|
||||
.toEqual(["bite-sized-stormwind-stockade"]);
|
||||
expect(dungeonsByCategory("bite-sized").map((dungeon) => dungeon.id).sort())
|
||||
.toEqual(["bite-sized-deadmines-ship", "bite-sized-stormwind-stockade",
|
||||
"bite-sized-utgarde-pinnacle-skadi", "bite-sized-wailing-caverns"]);
|
||||
});
|
||||
|
||||
it("selects another available category dungeon and falls back to the sole bite-sized entry", () => {
|
||||
it("selects another available category dungeon", () => {
|
||||
expect(randomDungeonByCategory("bite-sized", "bite-sized-stormwind-stockade", () => 0)?.id)
|
||||
.toBe("bite-sized-stormwind-stockade");
|
||||
.not.toBe("bite-sized-stormwind-stockade");
|
||||
expect(randomDungeonByCategory("wow", "stormwind-stockade", () => 0)?.id)
|
||||
.not.toBe("stormwind-stockade");
|
||||
});
|
||||
@@ -87,6 +89,11 @@ describe("dungeon catalog", () => {
|
||||
expect(dungeonById("missing-dungeon")).toBeNull();
|
||||
});
|
||||
|
||||
it("keeps every queue candidate in the server policy validation catalog", () => {
|
||||
const policyIds = new Set(queuePolicyCatalog.dungeons.map((dungeon) => dungeon.id));
|
||||
expect(DUNGEON_CATALOG.every((dungeon) => policyIds.has(dungeon.id))).toBe(true);
|
||||
});
|
||||
|
||||
it("provides centralized display copy for every entry", () => {
|
||||
for (const dungeon of DUNGEON_CATALOG) {
|
||||
expect(dungeon.location.trim()).not.toBe("");
|
||||
@@ -101,8 +108,12 @@ describe("dungeon catalog", () => {
|
||||
"randomized-bite-sized-stormwind-stockade",
|
||||
"stormwind-stockade",
|
||||
"bite-sized-stormwind-stockade",
|
||||
"bite-sized-deadmines-ship",
|
||||
"bite-sized-utgarde-pinnacle-skadi",
|
||||
"bite-sized-wailing-caverns",
|
||||
]);
|
||||
expect(DUNGEON_CATALOG.filter((dungeon) => !dungeon.id.includes("stormwind-stockade"))
|
||||
expect(DUNGEON_CATALOG.filter((dungeon) => !dungeon.id.includes("stormwind-stockade")
|
||||
&& !dungeon.id.startsWith("bite-sized-"))
|
||||
.every((dungeon) => dungeon.releaseStage === "alpha"))
|
||||
.toBe(true);
|
||||
for (const category of DUNGEON_CATEGORIES) {
|
||||
@@ -123,6 +134,9 @@ describe("dungeon catalog", () => {
|
||||
|
||||
it("shares the complete dungeon identity list used to validate reports on the server", () => {
|
||||
expect(DUNGEON_CATALOG.map((dungeon) => dungeon.id).sort())
|
||||
.toEqual(["bite-sized-stormwind-stockade", "randomized-bite-sized-stormwind-stockade", "forsaken-abbey", ...Object.keys(availability.enabled)].sort());
|
||||
.toEqual(["bite-sized-deadmines-ship", "bite-sized-stormwind-stockade",
|
||||
"bite-sized-utgarde-pinnacle-skadi", "bite-sized-wailing-caverns",
|
||||
"randomized-bite-sized-stormwind-stockade", "forsaken-abbey",
|
||||
...Object.keys(availability.enabled)].sort());
|
||||
});
|
||||
});
|
||||
Reference in new issue
Block a user