pokerogue/test/items/lock-capsule.test.ts

55 lines
1.7 KiB
TypeScript

import { AbilityId } from "#enums/ability-id";
import { MoveId } from "#enums/move-id";
import { RarityTier } from "#enums/reward-tier";
import { TrainerItemId } from "#enums/trainer-item-id";
import { UiMode } from "#enums/ui-mode";
import { SelectRewardPhase } from "#phases/select-reward-phase";
import { GameManager } from "#test/test-utils/game-manager";
import Phaser from "phaser";
import { afterEach, beforeAll, beforeEach, describe, expect, it } from "vitest";
describe("Items - Lock Capsule", () => {
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
.battleStyle("single")
.startingLevel(200)
.moveset([MoveId.SURF])
.enemyAbility(AbilityId.BALL_FETCH)
.startingTrainerItems([{ entry: TrainerItemId.LOCK_CAPSULE }]);
});
it("doesn't set the cost of common tier items to 0", async () => {
await game.classicMode.startBattle();
game.scene.phaseManager.overridePhase(
new SelectRewardPhase(0, undefined, {
guaranteedRarityTiers: [RarityTier.COMMON, RarityTier.COMMON, RarityTier.COMMON],
fillRemaining: false,
}),
);
game.onNextPrompt("SelectRewardPhase", UiMode.REWARD_SELECT, () => {
const selectRewardPhase = game.scene.phaseManager.getCurrentPhase() as SelectRewardPhase;
const rerollCost = selectRewardPhase.getRerollCost(true);
expect(rerollCost).toBe(150);
});
game.doSelectModifier();
await game.phaseInterceptor.to("SelectRewardPhase");
});
});