fix(ci): stabilize post-cutover checks
CI / check (pull_request) Successful in 35s
CI / release (pull_request) Skipped
CI / deploy (pull_request) Skipped

This commit is contained in:
Simo committed 2026-08-30 21:13:07 +02:00
1 parent 6ae0aef6c0
commit cdfae0b967
2 files changed
+16 -10

No files matched your search

+6 -6
View File
@@ -77,19 +77,19 @@ describe("admin theme source audit", () => {
}); });
it("keeps retained Studio workflows on semantic status and overlay colors", () => { it("keeps retained Studio workflows on semantic status and overlay colors", () => {
const violations = sourceFiles("src/components/admin/studio").flatMap( const studioFiles = [
(file) => { "src/features/housekeeping/domains/hotel/pages/studio.tsx",
];
const violations = studioFiles.flatMap((file) => {
const source = readFileSync(file, "utf8"); const source = readFileSync(file, "utf8");
const risky = const risky =
source.match(/rgba?\([^)]*\)|(?:bg-black|text-white)(?:\/\d+)?/g) ?? source.match(/rgba?\([^)]*\)|(?:bg-black|text-white)(?:\/\d+)?/g) ?? [];
[];
return risky.length return risky.length
? [ ? [
`${relative(process.cwd(), file).replaceAll("\\", "/")}: ${[...new Set(risky)].join(", ")}`, `${relative(process.cwd(), file).replaceAll("\\", "/")}: ${[...new Set(risky)].join(", ")}`,
] ]
: []; : [];
}, });
);
expect(violations).toEqual([]); expect(violations).toEqual([]);
}); });
}); });
+10 -4
View File
@@ -33,14 +33,20 @@ describe("cached (memory-only, no Redis)", () => {
}); });
it("recomputes after the TTL expires", async () => { it("recomputes after the TTL expires", async () => {
vi.useFakeTimers();
try {
vi.setSystemTime(1_000);
let count = 0; let count = 0;
const fn = vi.fn(async () => ++count); const fn = vi.fn(async () => ++count);
const key = `ttl-${Math.random()}`; const key = `ttl-${Math.random()}`;
expect(await cached(key, 1, fn)).toBe(1); expect(await cached(key, 100, fn)).toBe(1);
expect(await cached(key, 1, fn)).toBe(1); expect(await cached(key, 100, fn)).toBe(1);
await new Promise((r) => setTimeout(r, 10)); vi.advanceTimersByTime(100);
expect(await cached(key, 1, fn)).toBe(2); expect(await cached(key, 100, fn)).toBe(2);
expect(fn).toHaveBeenCalledTimes(2); expect(fn).toHaveBeenCalledTimes(2);
} finally {
vi.useRealTimers();
}
}); });
it("invalidates a key so the next read recomputes", async () => { it("invalidates a key so the next read recomputes", async () => {