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
@@ -30,6 +30,7 @@ const character = {
|
||||
name: "Remedy",
|
||||
raceId: "human" as const,
|
||||
classId: "priest" as const,
|
||||
specializationId: "priest:holy",
|
||||
gender: "female" as const,
|
||||
appearance: createDefaultAppearance(),
|
||||
level: 1,
|
||||
@@ -100,6 +101,15 @@ describe("shell store", () => {
|
||||
expect(useShellStore.getState().notice).toMatch(/select or create/i);
|
||||
});
|
||||
|
||||
it("routes a legacy WoW character through the mandatory specialization picker", () => {
|
||||
prepareSelectedCharacter();
|
||||
useShellStore.setState({ characters: [{ ...character, specializationId: null }] });
|
||||
expect(useShellStore.getState().openMainMenu()).toBe(true);
|
||||
expect(useShellStore.getState().phase).toBe("class-hall");
|
||||
expect(useShellStore.getState().openDungeons()).toBe(false);
|
||||
expect(useShellStore.getState().notice).toMatch(/choose a specialization/i);
|
||||
});
|
||||
|
||||
it("opens the main menu and dungeon list without resetting gameplay", () => {
|
||||
prepareSelectedCharacter();
|
||||
useGameStore.setState({ paused: true, mapOpen: true, companionOpen: true, distanceTravelled: 42 });
|
||||
@@ -124,11 +134,11 @@ describe("shell store", () => {
|
||||
useShellStore.getState().openDungeons();
|
||||
useGameStore.setState({ paused: true, mapOpen: true, companionOpen: true, distanceTravelled: 42 });
|
||||
|
||||
expect(useShellStore.getState().enterDungeon(DUNGEON_MANIFEST.id, "damage")).toBe(true);
|
||||
expect(useShellStore.getState().enterDungeon(DUNGEON_MANIFEST.id, "healer")).toBe(true);
|
||||
expect(useShellStore.getState()).toMatchObject({
|
||||
phase: "game",
|
||||
activeCharacter: character,
|
||||
activeDungeonRole: "damage",
|
||||
activeDungeonRole: "healer",
|
||||
});
|
||||
expect(useGameStore.getState()).toMatchObject({
|
||||
paused: false,
|
||||
@@ -142,7 +152,7 @@ describe("shell store", () => {
|
||||
prepareSelectedCharacter();
|
||||
expect(useShellStore.getState().enterDungeon(DUNGEON_MANIFEST.id, "tank")).toBe(false);
|
||||
expect(useShellStore.getState().phase).toBe("characters");
|
||||
expect(useShellStore.getState().notice).toMatch(/cannot enter as tank/i);
|
||||
expect(useShellStore.getState().notice).toMatch(/locked to healer/i);
|
||||
});
|
||||
|
||||
it("rejects an unknown dungeon without resetting or leaving the list", () => {
|
||||
@@ -234,7 +244,7 @@ describe("shell store", () => {
|
||||
expect(useShellStore.getState().openManastorms()).toBe(true);
|
||||
expect(useShellStore.getState().phase).toBe("manastorms");
|
||||
expect(useShellStore.getState().enterManastorm("tank")).toBe(false);
|
||||
expect(useShellStore.getState().notice).toMatch(/cannot enter as tank/i);
|
||||
expect(useShellStore.getState().notice).toMatch(/locked to healer/i);
|
||||
|
||||
expect(useShellStore.getState().enterManastorm("healer")).toBe(true);
|
||||
expect(useShellStore.getState()).toMatchObject({
|
||||
|
||||
Reference in new issue
Block a user