diff --git a/.github/workflows/mystery-events.yml b/.github/workflows/mystery-events.yml index e2b756a9ca8..621bffb3e2b 100644 --- a/.github/workflows/mystery-events.yml +++ b/.github/workflows/mystery-events.yml @@ -50,4 +50,4 @@ jobs: run: npm ci # Use 'npm ci' to install dependencies - name: tests # Step to run tests - run: npm run test${{ runner.debug == '0' &&':silent' || '' }} -- --retry=3 # silent on default. if debug run loud. Retry failed tests up to 3 times + run: npm run test${{ runner.debug == '0' &&':silent' || '' }} # silent on default. if debug run loud. diff --git a/src/test/mystery-encounter/encounters/department-store-sale-encounter.test.ts b/src/test/mystery-encounter/encounters/department-store-sale-encounter.test.ts index c8cbc88d54e..cbc5ab7950e 100644 --- a/src/test/mystery-encounter/encounters/department-store-sale-encounter.test.ts +++ b/src/test/mystery-encounter/encounters/department-store-sale-encounter.test.ts @@ -36,7 +36,7 @@ describe("Department Store Sale - Mystery Encounter", () => { game.override.mysteryEncounterTier(MysteryEncounterTier.COMMON); game.override.startingWave(defaultWave); game.override.startingBiome(defaultBiome); - game.override.disableTrainerWave(true); + game.override.disableTrainerWaves(true); const biomeMap = new Map([ [Biome.VOLCANO, [MysteryEncounterType.MYSTERIOUS_CHALLENGERS]], @@ -54,7 +54,6 @@ describe("Department Store Sale - Mystery Encounter", () => { }); it("should have the correct properties", async () => { - game.override.mysteryEncounter(MysteryEncounterType.DEPARTMENT_STORE_SALE); await game.runToMysteryEncounter(MysteryEncounterType.DEPARTMENT_STORE_SALE, defaultParty); expect(DepartmentStoreSaleEncounter.encounterType).toBe(MysteryEncounterType.DEPARTMENT_STORE_SALE); diff --git a/src/test/mystery-encounter/encounters/fiery-fallout-encounter.test.ts b/src/test/mystery-encounter/encounters/fiery-fallout-encounter.test.ts index 6dd8593787e..33845d1dfe5 100644 --- a/src/test/mystery-encounter/encounters/fiery-fallout-encounter.test.ts +++ b/src/test/mystery-encounter/encounters/fiery-fallout-encounter.test.ts @@ -58,7 +58,6 @@ describe("Fiery Fallout - Mystery Encounter", () => { }); it("should have the correct properties", async () => { - game.override.mysteryEncounter(MysteryEncounterType.FIERY_FALLOUT); await game.runToMysteryEncounter(MysteryEncounterType.FIERY_FALLOUT, defaultParty); expect(FieryFalloutEncounter.encounterType).toBe(MysteryEncounterType.FIERY_FALLOUT); diff --git a/src/test/mystery-encounter/encounters/lost-at-sea-encounter.test.ts b/src/test/mystery-encounter/encounters/lost-at-sea-encounter.test.ts index 5f2df5b20eb..6d36f47a8c1 100644 --- a/src/test/mystery-encounter/encounters/lost-at-sea-encounter.test.ts +++ b/src/test/mystery-encounter/encounters/lost-at-sea-encounter.test.ts @@ -48,7 +48,6 @@ describe("Lost at Sea - Mystery Encounter", () => { }); it("should have the correct properties", async () => { - game.override.mysteryEncounter(MysteryEncounterType.LOST_AT_SEA); await game.runToMysteryEncounter(MysteryEncounterType.LOST_AT_SEA, defaultParty); expect(LostAtSeaEncounter.encounterType).toBe(MysteryEncounterType.LOST_AT_SEA); diff --git a/src/test/mystery-encounter/encounters/the-strong-stuff-encounter.test.ts b/src/test/mystery-encounter/encounters/the-strong-stuff-encounter.test.ts index 0df99c56cae..ed15380b8c9 100644 --- a/src/test/mystery-encounter/encounters/the-strong-stuff-encounter.test.ts +++ b/src/test/mystery-encounter/encounters/the-strong-stuff-encounter.test.ts @@ -60,7 +60,6 @@ describe("The Strong Stuff - Mystery Encounter", () => { }); it("should have the correct properties", async () => { - game.override.mysteryEncounter(MysteryEncounterType.THE_STRONG_STUFF); await game.runToMysteryEncounter(MysteryEncounterType.THE_STRONG_STUFF, defaultParty); expect(TheStrongStuffEncounter.encounterType).toBe(MysteryEncounterType.THE_STRONG_STUFF); diff --git a/src/test/mystery-encounter/mystery-encounter.test.ts b/src/test/mystery-encounter/mystery-encounter.test.ts index ef0b5b3238a..0ba28bb77ec 100644 --- a/src/test/mystery-encounter/mystery-encounter.test.ts +++ b/src/test/mystery-encounter/mystery-encounter.test.ts @@ -23,8 +23,6 @@ describe("Mystery Encounters", () => { game = new GameManager(phaserGame); game.override.startingWave(11); game.override.mysteryEncounterChance(100); - game.override.mysteryEncounter(MysteryEncounterType.MYSTERIOUS_CHALLENGERS); - game.override.disableTrainerWave(true); }); it("Spawns a mystery encounter", async () => { diff --git a/src/test/phases/mystery-encounter-phase.test.ts b/src/test/phases/mystery-encounter-phase.test.ts index 2a7d3de3700..5c7c9958c80 100644 --- a/src/test/phases/mystery-encounter-phase.test.ts +++ b/src/test/phases/mystery-encounter-phase.test.ts @@ -28,7 +28,6 @@ describe("Mystery Encounter Phases", () => { game = new GameManager(phaserGame); game.override.startingWave(11); game.override.mysteryEncounterChance(100); - game.override.mysteryEncounter(MysteryEncounterType.MYSTERIOUS_CHALLENGERS); // Seed guarantees wild encounter to be replaced by ME game.override.seed("test"); }); diff --git a/src/test/utils/gameManager.ts b/src/test/utils/gameManager.ts index 039f55c4621..a8bd8ee3404 100644 --- a/src/test/utils/gameManager.ts +++ b/src/test/utils/gameManager.ts @@ -153,7 +153,7 @@ export default class GameManager { */ async runToMysteryEncounter(encounterType?: MysteryEncounterType, species?: Species[]) { if (!isNullOrUndefined(encounterType)) { - this.override.disableTrainerWave(true); + this.override.disableTrainerWaves(true); this.override.mysteryEncounter(encounterType); } diff --git a/src/test/utils/overridesHelper.ts b/src/test/utils/overridesHelper.ts index 4116810be5d..d2011bf4581 100644 --- a/src/test/utils/overridesHelper.ts +++ b/src/test/utils/overridesHelper.ts @@ -6,6 +6,8 @@ import GameManager from "#test/utils/gameManager"; import { MysteryEncounterType } from "#enums/mystery-encounter-type"; import * as overrides from "#app/overrides"; import { MysteryEncounterTier } from "#app/data/mystery-encounters/mystery-encounter"; +import * as GameMode from "#app/game-mode"; +import { GameModes, getGameMode } from "#app/game-mode"; /** * Helper to handle overrides in tests @@ -77,8 +79,13 @@ export class OverridesHelper { * @returns spy instance * @param disable - true */ - disableTrainerWave(disable: boolean): MockInstance { - const spy = vi.spyOn(this.game.scene.gameMode, "isWaveTrainer").mockReturnValue(!disable); + disableTrainerWaves(disable: boolean): MockInstance { + const realFn = getGameMode; + const spy = vi.spyOn(GameMode, "getGameMode").mockImplementation((gameMode: GameModes) => { + const mode = realFn(gameMode); + mode.hasTrainers = !disable; + return mode; + }); this.log(`Standard trainer waves are ${disable? "disabled" : "enabled"}!`); return spy; }