Files
healer-man/src/ui/BossLootWindow.test.ts
T
2026-09-09 11:21:33 -04:00

36 lines
967 B
TypeScript

import { afterEach, describe, expect, it, vi } from "vitest";
import {
BOSS_LOOT_AUTO_DISMISS_MS,
scheduleBossLootAutoDismiss,
} from "./BossLootWindow";
describe("boss loot auto-dismiss", () => {
afterEach(() => {
vi.useRealTimers();
});
it("dismisses the visible reward after ten seconds", () => {
vi.useFakeTimers();
const dismiss = vi.fn();
scheduleBossLootAutoDismiss(42, dismiss);
vi.advanceTimersByTime(BOSS_LOOT_AUTO_DISMISS_MS - 1);
expect(dismiss).not.toHaveBeenCalled();
vi.advanceTimersByTime(1);
expect(dismiss).toHaveBeenCalledOnce();
expect(dismiss).toHaveBeenCalledWith(42);
});
it("cancels a pending auto-dismiss when the popup changes or closes", () => {
vi.useFakeTimers();
const dismiss = vi.fn();
const cancel = scheduleBossLootAutoDismiss(42, dismiss);
cancel();
vi.advanceTimersByTime(BOSS_LOOT_AUTO_DISMISS_MS);
expect(dismiss).not.toHaveBeenCalled();
});
});