mirror of
https://github.com/openfrontio/OpenFrontIO.git
synced 2026-07-23 04:15:25 +00:00
build: migrate build system to Vite and test runner to Vitest & Remove
depracated husky usage - Replace Webpack with Vite for faster client bundling and HMR. - Migrate tests from Jest to Vitest and update configuration. - Update Web Worker instantiation to standard ESM syntax. - Implement Env utility in `src/core` for safe, hybrid environment variable access (Vite vs Node). - Refactor configuration loaders to remove direct `process.env` dependencies in shared code. - Update TypeScript environment definitions and project scripts for the new toolchain. - Remove the [depracated usage of the husky](https://github.com/typicode/husky/releases/tag/v9.0.1). build(vite): implement robust git commit resolution with fallback
This commit is contained in:
@@ -13,52 +13,52 @@ describe("WinCheckExecution", () => {
|
||||
maxTimerValue: 5,
|
||||
instantBuild: true,
|
||||
});
|
||||
mg.setWinner = jest.fn();
|
||||
mg.setWinner = vi.fn();
|
||||
winCheck = new WinCheckExecution();
|
||||
winCheck.init(mg, 0);
|
||||
});
|
||||
|
||||
it("should call checkWinnerFFA in FFA mode", () => {
|
||||
const spy = jest.spyOn(winCheck as any, "checkWinnerFFA");
|
||||
const spy = vi.spyOn(winCheck as any, "checkWinnerFFA");
|
||||
winCheck.tick(10);
|
||||
expect(spy).toHaveBeenCalled();
|
||||
});
|
||||
|
||||
it("should call checkWinnerTeam in non-FFA mode", () => {
|
||||
mg.config = jest.fn(() => ({
|
||||
gameConfig: jest.fn(() => ({
|
||||
mg.config = vi.fn(() => ({
|
||||
gameConfig: vi.fn(() => ({
|
||||
maxTimerValue: 5,
|
||||
gameMode: GameMode.Team,
|
||||
})),
|
||||
percentageTilesOwnedToWin: jest.fn(() => 50),
|
||||
percentageTilesOwnedToWin: vi.fn(() => 50),
|
||||
}));
|
||||
winCheck.init(mg, 0);
|
||||
const spy = jest.spyOn(winCheck as any, "checkWinnerTeam");
|
||||
const spy = vi.spyOn(winCheck as any, "checkWinnerTeam");
|
||||
winCheck.tick(10);
|
||||
expect(spy).toHaveBeenCalled();
|
||||
});
|
||||
|
||||
it("should set winner in FFA if percentage is reached", () => {
|
||||
const player = {
|
||||
numTilesOwned: jest.fn(() => 81),
|
||||
name: jest.fn(() => "P1"),
|
||||
numTilesOwned: vi.fn(() => 81),
|
||||
name: vi.fn(() => "P1"),
|
||||
};
|
||||
mg.players = jest.fn(() => [player]);
|
||||
mg.numLandTiles = jest.fn(() => 100);
|
||||
mg.numTilesWithFallout = jest.fn(() => 0);
|
||||
mg.players = vi.fn(() => [player]);
|
||||
mg.numLandTiles = vi.fn(() => 100);
|
||||
mg.numTilesWithFallout = vi.fn(() => 0);
|
||||
winCheck.checkWinnerFFA();
|
||||
expect(mg.setWinner).toHaveBeenCalledWith(player, expect.anything());
|
||||
});
|
||||
|
||||
it("should set winner in FFA if timer is 0", () => {
|
||||
const player = {
|
||||
numTilesOwned: jest.fn(() => 10),
|
||||
name: jest.fn(() => "P1"),
|
||||
numTilesOwned: vi.fn(() => 10),
|
||||
name: vi.fn(() => "P1"),
|
||||
};
|
||||
mg.players = jest.fn(() => [player]);
|
||||
mg.numLandTiles = jest.fn(() => 100);
|
||||
mg.numTilesWithFallout = jest.fn(() => 0);
|
||||
mg.stats = jest.fn(() => ({ stats: () => ({ mocked: true }) }));
|
||||
mg.players = vi.fn(() => [player]);
|
||||
mg.numLandTiles = vi.fn(() => 100);
|
||||
mg.numTilesWithFallout = vi.fn(() => 0);
|
||||
mg.stats = vi.fn(() => ({ stats: () => ({ mocked: true }) }));
|
||||
// Advance ticks until timeElapsed (in seconds) >= maxTimerValue * 60
|
||||
// timeElapsed = (ticks - numSpawnPhaseTurns) / 10 =>
|
||||
// ticks >= numSpawnPhaseTurns + maxTimerValue * 600
|
||||
@@ -73,7 +73,7 @@ describe("WinCheckExecution", () => {
|
||||
});
|
||||
|
||||
it("should not set winner if no players", () => {
|
||||
mg.players = jest.fn(() => []);
|
||||
mg.players = vi.fn(() => []);
|
||||
winCheck.checkWinnerFFA();
|
||||
expect(mg.setWinner).not.toHaveBeenCalled();
|
||||
});
|
||||
|
||||
Reference in New Issue
Block a user