test: add unit tests for pure logic modules

Add 22 test files covering imager, soundtracks, browser-headers, source-keys (figure/pet/effect), effect-source, plus catalog-translations, catalog-layouts, client-translation-files, translations-utils, and various admin/services/helpers modules. Total test count increases by 120+.
This commit is contained in:
openhands committed 2026-08-07 18:53:59 +02:00
1 parent 11e8b06bf8
commit 82e8448f26
25 files changed
+1400 -304

No files matched your search

+16 -10
View File
@@ -1,24 +1,30 @@
import { describe, expect, it } from "vitest";
import { activeBanWhere, isBanActive } from "@/lib/bans";
import { activeBanWhere, isBanActive, unixNow } from "./bans";
describe("isBanActive", () => {
it("treats banExpire 0 as permanent", () => {
expect(isBanActive(0, 1_700_000_000)).toBe(true);
it("treats permanent bans (0) as active", () => {
expect(isBanActive(0, 12345)).toBe(true);
});
it("treats future expiry as active", () => {
expect(isBanActive(1_800_000_000, 1_700_000_000)).toBe(true);
it("treats future expiries as active", () => {
expect(isBanActive(200, 100)).toBe(true);
});
it("treats past expiry as inactive", () => {
expect(isBanActive(1_600_000_000, 1_700_000_000)).toBe(false);
it("treats past expiries as inactive", () => {
expect(isBanActive(100, 200)).toBe(false);
expect(isBanActive(100, 100)).toBe(false);
});
});
describe("activeBanWhere", () => {
it("includes permanent and future expires", () => {
it("matches permanent and unexpired bans", () => {
expect(activeBanWhere(100)).toEqual({
OR: [{ banExpire: 0 }, { banExpire: { gt: 100 } }],
});
});
});
describe("unixNow", () => {
it("returns seconds since epoch", () => {
const now = unixNow();
expect(now).toBeGreaterThan(1_700_000_000);
});
});