fix tests

This commit is contained in:
flx-sta 2024-10-09 15:44:09 -07:00
parent 1154d797bf
commit aafbd00fbd
10 changed files with 29 additions and 105 deletions

2
global.d.ts vendored
View File

@ -10,5 +10,5 @@ declare global {
*
* To set up your own server in a test see `game_data.test.ts`
*/
var i18nServer: SetupServerApi;
var server: SetupServerApi;
}

View File

@ -2,22 +2,13 @@ import type { AccountInfoResponse } from "#app/@types/PokerogueAccountApi";
import { SESSION_ID_COOKIE_NAME } from "#app/constants";
import { PokerogueAccountApi } from "#app/plugins/api/pokerogue-account-api";
import { getApiBaseUrl } from "#app/test/utils/testUtils";
import { http, HttpResponse } from "msw";
import { setupServer } from "msw/node";
import { afterAll, afterEach, beforeAll, beforeEach, describe, expect, it, vi } from "vitest";
import * as Utils from "#app/utils";
import { http, HttpResponse } from "msw";
import { afterEach, beforeEach, describe, expect, it, vi } from "vitest";
const apiBase = getApiBaseUrl();
const accountApi = new PokerogueAccountApi(apiBase);
const server = setupServer();
beforeAll(() => {
server.listen({ onUnhandledRequest: "error" });
});
afterAll(() => {
server.close();
});
const { server } = global;
afterEach(() => {
server.resetHandlers();

View File

@ -2,20 +2,11 @@ import type { LinkAccountToDiscordIdRequest } from "#app/@types/PokerogueAdminAp
import { PokerogueAdminApi } from "#app/plugins/api/pokerogue-admin-api";
import { getApiBaseUrl } from "#app/test/utils/testUtils";
import { http, HttpResponse } from "msw";
import { setupServer } from "msw/node";
import { afterAll, afterEach, beforeAll, beforeEach, describe, expect, it, vi } from "vitest";
import { afterEach, beforeEach, describe, expect, it, vi } from "vitest";
const apiBase = getApiBaseUrl();
const adminApi = new PokerogueAdminApi(apiBase);
const server = setupServer();
beforeAll(() => {
server.listen({ onUnhandledRequest: "error" });
});
afterAll(() => {
server.close();
});
const { server } = global;
afterEach(() => {
server.resetHandlers();

View File

@ -2,19 +2,10 @@ import type { TitleStatsResponse } from "#app/@types/PokerogueApi";
import { pokerogueApi } from "#app/plugins/api/pokerogue-api";
import { getApiBaseUrl } from "#app/test/utils/testUtils";
import { http, HttpResponse } from "msw";
import { setupServer } from "msw/node";
import { afterAll, afterEach, beforeAll, beforeEach, describe, expect, it, vi } from "vitest";
import { afterEach, beforeEach, describe, expect, it, vi } from "vitest";
const apiBase = getApiBaseUrl();
const server = setupServer();
beforeAll(() => {
server.listen({ onUnhandledRequest: "error" });
});
afterAll(() => {
server.close();
});
const { server } = global;
afterEach(() => {
server.resetHandlers();

View File

@ -3,20 +3,11 @@ import { PokerogueDailyApi } from "#app/plugins/api/pokerogue-daily-api";
import { getApiBaseUrl } from "#app/test/utils/testUtils";
import { ScoreboardCategory, type RankingEntry } from "#app/ui/daily-run-scoreboard";
import { http, HttpResponse } from "msw";
import { setupServer } from "msw/node";
import { afterAll, afterEach, beforeAll, beforeEach, describe, expect, it, vi } from "vitest";
import { afterEach, beforeEach, describe, expect, it, vi } from "vitest";
const apiBase = getApiBaseUrl();
const dailyApi = new PokerogueDailyApi(apiBase);
const server = setupServer();
beforeAll(() => {
server.listen({ onUnhandledRequest: "error" });
});
afterAll(() => {
server.close();
});
const { server } = global;
afterEach(() => {
server.resetHandlers();

View File

@ -2,20 +2,11 @@ import type { UpdateAllSavedataRequest } from "#app/@types/PokerogueSavedataApi"
import { PokerogueSavedataApi } from "#app/plugins/api/pokerogue-savedata-api";
import { getApiBaseUrl } from "#app/test/utils/testUtils";
import { http, HttpResponse } from "msw";
import { setupServer } from "msw/node";
import { afterAll, afterEach, beforeAll, beforeEach, describe, expect, it, vi } from "vitest";
import { afterEach, beforeEach, describe, expect, it, vi } from "vitest";
const apiBase = getApiBaseUrl();
const savedataApi = new PokerogueSavedataApi(apiBase);
const server = setupServer();
beforeAll(() => {
server.listen({ onUnhandledRequest: "error" });
});
afterAll(() => {
server.close();
});
const { server } = global;
afterEach(() => {
server.resetHandlers();

View File

@ -10,20 +10,11 @@ import { PokerogueSessionSavedataApi } from "#app/plugins/api/pokerogue-session-
import type { SessionSaveData } from "#app/system/game-data";
import { getApiBaseUrl } from "#app/test/utils/testUtils";
import { http, HttpResponse } from "msw";
import { setupServer } from "msw/node";
import { afterAll, afterEach, beforeAll, beforeEach, describe, expect, it, vi } from "vitest";
import { afterEach, beforeEach, describe, expect, it, vi } from "vitest";
const apiBase = getApiBaseUrl();
const sessionSavedataApi = new PokerogueSessionSavedataApi(apiBase);
const server = setupServer();
beforeAll(() => {
server.listen({ onUnhandledRequest: "error" });
});
afterAll(() => {
server.close();
});
const { server } = global;
afterEach(() => {
server.resetHandlers();

View File

@ -8,20 +8,11 @@ import { PokerogueSystemSavedataApi } from "#app/plugins/api/pokerogue-system-sa
import type { SystemSaveData } from "#app/system/game-data";
import { getApiBaseUrl } from "#app/test/utils/testUtils";
import { http, HttpResponse } from "msw";
import { setupServer } from "msw/node";
import { afterAll, afterEach, beforeAll, beforeEach, describe, expect, it, vi } from "vitest";
import { afterEach, beforeEach, describe, expect, it, vi } from "vitest";
const apiBase = getApiBaseUrl();
const systemSavedataApi = new PokerogueSystemSavedataApi(apiBase);
const server = setupServer();
beforeAll(() => {
server.listen({ onUnhandledRequest: "error" });
});
afterAll(() => {
server.close();
});
const systemSavedataApi = new PokerogueSystemSavedataApi(getApiBaseUrl());
const { server } = global;
afterEach(() => {
server.resetHandlers();

View File

@ -1,36 +1,23 @@
import * as BattleScene from "#app/battle-scene";
import { pokerogueApi } from "#app/plugins/api/pokerogue-api";
import { SessionSaveData } from "#app/system/game-data";
import { Abilities } from "#enums/abilities";
import { Moves } from "#enums/moves";
import GameManager from "#test/utils/gameManager";
import { http, HttpResponse } from "msw";
import { setupServer } from "msw/node";
import Phaser from "phaser";
import { afterAll, afterEach, beforeAll, beforeEach, describe, expect, it, vi } from "vitest";
import { afterEach, beforeAll, beforeEach, describe, expect, it, vi } from "vitest";
import * as account from "../../account";
const apiBase = import.meta.env.VITE_API_BASE_URL ?? "http://localhost:8001";
/** We need a custom server. For some reasons I can't extend the listeners of {@linkcode global.i18nServer} with {@linkcode global.i18nServer.use} */
const server = setupServer();
describe("System - Game Data", () => {
let phaserGame: Phaser.Game;
let game: GameManager;
beforeAll(() => {
global.i18nServer.close();
server.listen();
phaserGame = new Phaser.Game({
type: Phaser.HEADLESS,
});
});
afterAll(() => {
server.close();
global.i18nServer.listen();
});
beforeEach(() => {
game = new GameManager(phaserGame);
game.override
@ -41,7 +28,6 @@ describe("System - Game Data", () => {
});
afterEach(() => {
server.resetHandlers();
game.phaseInterceptor.restoreOg();
});
@ -61,7 +47,7 @@ describe("System - Game Data", () => {
});
it("should return [true, true] if successful", async () => {
server.use(http.post(`${apiBase}/savedata/session/clear`, () => HttpResponse.json({ success: true })));
vi.spyOn(pokerogueApi.savedata.session, "clear").mockResolvedValue({ success: true });
const result = await game.scene.gameData.tryClearSession(game.scene, 0);
@ -70,7 +56,7 @@ describe("System - Game Data", () => {
});
it("should return [true, false] if not successful", async () => {
server.use(http.post(`${apiBase}/savedata/session/clear`, () => HttpResponse.json({ success: false })));
vi.spyOn(pokerogueApi.savedata.session, "clear").mockResolvedValue({ success: false });
const result = await game.scene.gameData.tryClearSession(game.scene, 0);
@ -79,9 +65,7 @@ describe("System - Game Data", () => {
});
it("should return [false, false] session is out of date", async () => {
server.use(
http.post(`${apiBase}/savedata/session/clear`, () => HttpResponse.json({ error: "session out of date" }))
);
vi.spyOn(pokerogueApi.savedata.session, "clear").mockResolvedValue({ error: "session out of date" });
const result = await game.scene.gameData.tryClearSession(game.scene, 0);

View File

@ -38,7 +38,7 @@ vi.mock("i18next", async (importOriginal) => {
const { setupServer } = await import("msw/node");
const { http, HttpResponse } = await import("msw");
global.i18nServer = setupServer(
global.server = setupServer(
http.get("/locales/en/*", async (req) => {
const filename = req.params[0];
@ -50,9 +50,12 @@ vi.mock("i18next", async (importOriginal) => {
console.log(`Failed to load locale ${filename}!`, err);
return HttpResponse.json({});
}
})
}),
http.get("https://fonts.googleapis.com/*", () => {
return HttpResponse.text("");
}),
);
global.i18nServer.listen({ onUnhandledRequest: "error" });
global.server.listen({ onUnhandledRequest: "error" });
console.log("i18n MSW server listening!");
return await importOriginal();
@ -83,6 +86,6 @@ beforeAll(() => {
});
afterAll(() => {
global.i18nServer.close();
global.server.close();
console.log("Closing i18n MSW server!");
});