The legacy application - its src, tests, landing site, promo assets, docs, release tooling, CI workflows, and root configs - leaves the tree; it stays reachable in history. Everything under AgentCompany-New moves up unchanged: same package name, so the production userData/database path is untouched, and e2e/build scripts already resolved paths relative to the project. The developer cred.txt stays gitignored at its new location. Full verify:ci passes from the new root.
31 lines
1.3 KiB
TypeScript
31 lines
1.3 KiB
TypeScript
import { describe, expect, test } from "vitest";
|
|
import { appearanceFor } from "../../src/renderer/src/pages/office/sprites";
|
|
|
|
describe("office sprite appearances", () => {
|
|
test("identity is deterministic", () => {
|
|
const first = appearanceFor("agent-42", false);
|
|
const second = appearanceFor("agent-42", false);
|
|
expect(second).toEqual(first);
|
|
});
|
|
|
|
test("a team of agents does not look like clones", () => {
|
|
const ids = Array.from({ length: 40 }, (_, i) => `agent-${i}-${i * 7919}`);
|
|
const looks = ids.map((id) => appearanceFor(id, false));
|
|
const skins = new Set(looks.map((look) => look.skin));
|
|
const hairStyles = new Set(looks.map((look) => look.hairStyle));
|
|
const hairColors = new Set(looks.map((look) => look.hair));
|
|
const shirts = new Set(looks.map((look) => look.shirt));
|
|
expect(skins.size).toBeGreaterThanOrEqual(4);
|
|
expect(hairStyles.size).toBeGreaterThanOrEqual(5);
|
|
expect(hairColors.size).toBeGreaterThanOrEqual(5);
|
|
expect(shirts.size).toBeGreaterThanOrEqual(6);
|
|
expect(looks.some((look) => look.glasses)).toBe(true);
|
|
expect(looks.some((look) => !look.glasses)).toBe(true);
|
|
});
|
|
|
|
test("the CEO always dresses the part", () => {
|
|
const ceo = appearanceFor("ceo-agent", true);
|
|
expect(ceo.outfit).toBe("blazer");
|
|
});
|
|
});
|