Files
healer-man/src/game/dungeonAvailabilityGenerator.test.ts
T
2026-08-14 15:56:39 -04:00

36 lines
1023 B
TypeScript

import { describe, expect, it } from "vitest";
import { mergeCampaignAvailability } from "../../scripts/dungeon-pipeline/availability.mjs";
describe("mergeCampaignAvailability", () => {
it("preserves non-campaign availability while rebuilding campaign entries", () => {
const existing = {
schemaVersion: 1 as const,
enabled: {
"forsaken-abbey": true,
"kalin-shrine": false,
deadmines: false,
},
};
expect(
mergeCampaignAvailability(existing, ["deadmines", "wailing-caverns"]),
).toEqual({
schemaVersion: 1,
enabled: {
"forsaken-abbey": true,
"kalin-shrine": false,
deadmines: true,
"wailing-caverns": true,
},
});
expect(existing.enabled.deadmines).toBe(false);
});
it("starts a clean availability map when no previous map exists", () => {
expect(mergeCampaignAvailability(undefined, ["deadmines"])).toEqual({
schemaVersion: 1,
enabled: { deadmines: true },
});
});
});