pokerogue/test/abilities/victory_star.test.ts
NightKev 25b9fa7933
Some checks are pending
Deploy Beta / deploy (push) Waiting to run
Biome Code Quality / Run linters (push) Waiting to run
Tests / Run Tests (push) Waiting to run
[Biome] Add "no unused imports" rule (#5580)
* Apply Biome to files

* Add `lint/correctness/noUnusedImports` rule

* Apply rule

* Remove obsolete eslint directives

* Fix variable naming in `game-speed.ts`
2025-03-29 10:24:23 +00:00

60 lines
1.8 KiB
TypeScript

import { BattlerIndex } from "#app/battle";
import { TurnEndPhase } from "#app/phases/turn-end-phase";
import { Abilities } from "#enums/abilities";
import { Moves } from "#enums/moves";
import { Species } from "#enums/species";
import GameManager from "#test/testUtils/gameManager";
import Phaser from "phaser";
import { afterEach, beforeAll, beforeEach, describe, expect, it, vi } from "vitest";
describe("Abilities - Victory Star", () => {
let phaserGame: Phaser.Game;
let game: GameManager;
beforeAll(() => {
phaserGame = new Phaser.Game({
type: Phaser.HEADLESS,
});
});
afterEach(() => {
game.phaseInterceptor.restoreOg();
});
beforeEach(() => {
game = new GameManager(phaserGame);
game.override
.moveset([Moves.TACKLE, Moves.SPLASH])
.battleType("double")
.disableCrits()
.enemySpecies(Species.MAGIKARP)
.enemyAbility(Abilities.BALL_FETCH)
.enemyMoveset(Moves.SPLASH);
});
it("should increase the accuracy of its user", async () => {
await game.classicMode.startBattle([Species.VICTINI, Species.MAGIKARP]);
const user = game.scene.getPlayerField()[0];
vi.spyOn(user, "getAccuracyMultiplier");
game.move.select(Moves.TACKLE, 0, BattlerIndex.ENEMY);
game.move.select(Moves.SPLASH, 1);
await game.phaseInterceptor.to(TurnEndPhase);
expect(user.getAccuracyMultiplier).toHaveReturnedWith(1.1);
});
it("should increase the accuracy of its user's ally", async () => {
await game.classicMode.startBattle([Species.MAGIKARP, Species.VICTINI]);
const ally = game.scene.getPlayerField()[0];
vi.spyOn(ally, "getAccuracyMultiplier");
game.move.select(Moves.TACKLE, 0, BattlerIndex.ENEMY);
game.move.select(Moves.SPLASH, 1);
await game.phaseInterceptor.to(TurnEndPhase);
expect(ally.getAccuracyMultiplier).toHaveReturnedWith(1.1);
});
});