Server/project/tests/helpers/BotDifficultyHelper.test.ts

51 lines
2.1 KiB
TypeScript
Raw Normal View History

2024-05-14 16:45:56 +02:00
import "reflect-metadata";
import { BotDifficultyHelper } from "@spt/helpers/BotDifficultyHelper";
2024-05-14 16:45:56 +02:00
import { container } from "tsyringe";
import { afterEach, beforeEach, describe, expect, it, vi } from "vitest";
describe("BotHelper", () => {
2024-05-14 16:45:56 +02:00
let botDifficultyHelper: any;
beforeEach(() => {
2024-05-14 16:45:56 +02:00
botDifficultyHelper = container.resolve<BotDifficultyHelper>("BotDifficultyHelper");
});
afterEach(() => {
2024-05-14 16:45:56 +02:00
vi.restoreAllMocks();
});
describe("convertBotDifficultyDropdownToBotDifficulty", () => {
it("should return 'normal' when medium passed in", () => {
2024-05-14 16:45:56 +02:00
expect(botDifficultyHelper.convertBotDifficultyDropdownToBotDifficulty("medium")).toBe("normal");
});
it("should return 'normal' when randomly capitalized medium passed in", () => {
2024-05-14 16:45:56 +02:00
expect(botDifficultyHelper.convertBotDifficultyDropdownToBotDifficulty("mEdIuM")).toBe("normal");
});
it("should return passed in value when its not medium or random", () => {
2024-05-14 16:45:56 +02:00
expect(botDifficultyHelper.convertBotDifficultyDropdownToBotDifficulty("test_value")).toBe("test_value");
});
it("should return randomised value when random passed in", () => {
vi.spyOn(botDifficultyHelper, "chooseRandomDifficulty").mockReturnValue("randomValue");
2024-05-14 16:45:56 +02:00
expect(botDifficultyHelper.convertBotDifficultyDropdownToBotDifficulty("random")).toBe("randomValue");
});
});
describe("getBotDifficultySettings", () => {
it("should return assault bot if invalid bot type provided", () => {
vi.spyOn(botDifficultyHelper, "convertBotDifficultyDropdownToBotDifficulty").mockReturnValue("normal");
vi.spyOn(botDifficultyHelper.botHelper, "getBotTemplate").mockReturnValue({
difficulty: { normal: "test" },
});
const warningLogSpy = vi.spyOn(botDifficultyHelper.logger, "warning");
const result = botDifficultyHelper.getBotDifficultySettings("INVALID_TYPE", "normal");
expect(result).toBe("test");
expect(warningLogSpy).toHaveBeenCalledTimes(1);
2024-05-14 16:45:56 +02:00
});
});
2024-05-14 16:45:56 +02:00
});