mirror of
https://github.com/openfrontio/OpenFrontIO.git
synced 2026-06-21 20:26:44 +00:00
a708a8c984
UILayer → WarshipSelectionController and StructureIconsLayer → BuildPreviewController. These are the two real Controller implementations (state + click handling, no rendering) — the new names + location reflect what they actually do now that all rendering lives in WebGL passes.
33 lines
1.6 KiB
TypeScript
33 lines
1.6 KiB
TypeScript
import { describe, expect, test } from "vitest";
|
|
import { shouldPreserveGhostAfterBuild } from "../../../src/client/controllers/BuildPreviewController";
|
|
import { UnitType } from "../../../src/core/game/Game";
|
|
|
|
describe("BuildPreviewController ghost preservation (locked nuke / Enter confirm)", () => {
|
|
describe("shouldPreserveGhostAfterBuild", () => {
|
|
test("returns true for AtomBomb so ghost is not cleared after placement", () => {
|
|
expect(shouldPreserveGhostAfterBuild(UnitType.AtomBomb)).toBe(true);
|
|
});
|
|
|
|
test("returns true for HydrogenBomb so ghost is not cleared after placement", () => {
|
|
expect(shouldPreserveGhostAfterBuild(UnitType.HydrogenBomb)).toBe(true);
|
|
});
|
|
|
|
test("returns false for City so ghost is cleared after placement", () => {
|
|
expect(shouldPreserveGhostAfterBuild(UnitType.City)).toBe(false);
|
|
});
|
|
|
|
test("returns false for Factory so ghost is cleared after placement", () => {
|
|
expect(shouldPreserveGhostAfterBuild(UnitType.Factory)).toBe(false);
|
|
});
|
|
|
|
test("returns false for other buildable types (Port, DefensePost, MissileSilo, SAMLauncher, Warship, MIRV)", () => {
|
|
expect(shouldPreserveGhostAfterBuild(UnitType.Port)).toBe(false);
|
|
expect(shouldPreserveGhostAfterBuild(UnitType.DefensePost)).toBe(false);
|
|
expect(shouldPreserveGhostAfterBuild(UnitType.MissileSilo)).toBe(false);
|
|
expect(shouldPreserveGhostAfterBuild(UnitType.SAMLauncher)).toBe(false);
|
|
expect(shouldPreserveGhostAfterBuild(UnitType.Warship)).toBe(false);
|
|
expect(shouldPreserveGhostAfterBuild(UnitType.MIRV)).toBe(false);
|
|
});
|
|
});
|
|
});
|