pokerogue/src/test/utils/misc.test.ts
Adrián T. f417a262de
[Misc] Update eslint.config.js for space after commas (#3649)
* Update eslint.config.js for space after commas

* run eslint

* run eslint, again
2024-08-23 16:36:10 +08:00

80 lines
2.3 KiB
TypeScript

import { apiFetch } from "#app/utils";
import GameManager from "#test/utils/gameManager";
import { waitUntil } from "#test/utils/gameManagerUtils";
import Phaser from "phaser";
import { afterEach, beforeAll, beforeEach, describe, expect, it, vi } from "vitest";
describe("Test misc", () => {
let phaserGame: Phaser.Game;
let game: GameManager;
beforeAll(() => {
phaserGame = new Phaser.Game({
type: Phaser.HEADLESS,
});
});
afterEach(() => {
game.phaseInterceptor.restoreOg();
});
beforeEach(() => {
game = new GameManager(phaserGame);
});
it("test fetch mock async", async () => {
const spy = vi.fn();
await fetch("https://localhost:8080/account/info").then(response => {
expect(response.status).toBe(200);
expect(response.ok).toBe(true);
return response.json();
}).then(data => {
spy(); // Call the spy function
expect(data).toEqual({"username":"greenlamp", "lastSessionSlot":0});
});
expect(spy).toHaveBeenCalled();
});
it("test apifetch mock async", async () => {
const spy = vi.fn();
await apiFetch("https://localhost:8080/account/info").then(response => {
expect(response.status).toBe(200);
expect(response.ok).toBe(true);
return response.json();
}).then(data => {
spy(); // Call the spy function
expect(data).toEqual({"username":"greenlamp", "lastSessionSlot":0});
});
expect(spy).toHaveBeenCalled();
});
it("test fetch mock sync", async () => {
const response = await fetch("https://localhost:8080/account/info");
const data = await response.json();
expect(response.ok).toBe(true);
expect(response.status).toBe(200);
expect(data).toEqual({"username":"greenlamp", "lastSessionSlot":0});
});
it("test apifetch mock sync", async () => {
const data = await game.scene.cachedFetch("./battle-anims/splishy-splash.json");
expect(data).toBeDefined();
});
it("testing wait phase queue", async () => {
const fakeScene = {
phaseQueue: [1, 2, 3] // Initially not empty
};
setTimeout(() => {
fakeScene.phaseQueue = [];
}, 500);
const spy = vi.fn();
await waitUntil(() => fakeScene.phaseQueue.length === 0).then(result => {
expect(result).toBe(true);
spy(); // Call the spy function
});
expect(spy).toHaveBeenCalled();
});
});