Rework and test getDataTypeKey

This commit is contained in:
Laeticia PIERRE 2024-05-08 22:41:00 +02:00
parent 3d9b0253ef
commit 29914de5f6
2 changed files with 51 additions and 4 deletions

View File

@ -0,0 +1,50 @@
import { expect, describe, it, beforeAll, vi, afterAll } from "vitest";
import { GameDataType, getDataTypeKey } from "./game-data";
describe("game-data", () => {
describe("getDataTypeKey", () => {
beforeAll(() => {
// Error when importing biomes (imported by different files)
vi.mock('../data/biomes', () => ({
biomeLinks: {},
BiomePoolTier: {},
PokemonPools: {},
getBiomeName: () => "",
BiomeTierTrainerPools: {},
biomePokemonPools: {},
biomeTrainerPools: {},
}));
});
afterAll(() => {
vi.clearAllMocks();
});
it("returns sessionData for session data type", () => {
expect(getDataTypeKey(GameDataType.SESSION)).toBe("sessionData");
expect(getDataTypeKey(GameDataType.SESSION, 0)).toBe("sessionData");
});
it("returns sessionData with the slot id given for session data type", () => {
expect(getDataTypeKey(GameDataType.SESSION, 1)).toBe("sessionData1");
});
it("returns data for system data type", () => {
expect(getDataTypeKey(GameDataType.SYSTEM)).toBe("data");
expect(getDataTypeKey(GameDataType.SYSTEM, 0)).toBe("data");
expect(getDataTypeKey(GameDataType.SYSTEM, 1)).toBe("data");
});
it("returns settings for settings data type", () => {
expect(getDataTypeKey(GameDataType.SETTINGS)).toBe("settings");
expect(getDataTypeKey(GameDataType.SETTINGS, 0)).toBe("settings");
expect(getDataTypeKey(GameDataType.SETTINGS, 1)).toBe("settings");
});
it("returns tutorials for tutorials data type", () => {
expect(getDataTypeKey(GameDataType.TUTORIALS)).toBe("tutorials");
expect(getDataTypeKey(GameDataType.TUTORIALS, 0)).toBe("tutorials");
expect(getDataTypeKey(GameDataType.TUTORIALS, 1)).toBe("tutorials");
});
});
});

View File

@ -55,10 +55,7 @@ export function getDataTypeKey(dataType: GameDataType, slotId: integer = 0): str
case GameDataType.SYSTEM:
return 'data';
case GameDataType.SESSION:
let ret = 'sessionData';
if (slotId)
ret += slotId;
return ret;
return `sessionData${slotId ? slotId : ''}`;
case GameDataType.SETTINGS:
return 'settings';
case GameDataType.TUTORIALS: