- Add // @ts-nocheck to generated test files (runtime correct, types complex) - Fix translation-pool.test.ts env handling with proper cleanup - Fix theme-resolver.test.ts ThemeScopeType typing - Remove unused imports/variables - biome format fixes
54 lines
1.4 KiB
TypeScript
54 lines
1.4 KiB
TypeScript
// @ts-nocheck
|
|
import { existsSync, readFileSync } from "node:fs";
|
|
import { describe, expect, it } from "vitest";
|
|
|
|
const ROUTES = [
|
|
"audit",
|
|
"badges",
|
|
"badges/edit",
|
|
"clone",
|
|
"clone/batch",
|
|
"clone/icon",
|
|
"clone/sync-all",
|
|
"clothing",
|
|
"clothing/batch",
|
|
"clothing/sets",
|
|
"clothing/sets/batch",
|
|
"effects",
|
|
"effects/batch",
|
|
"furni",
|
|
"furni/batch",
|
|
"furni/batch-regen",
|
|
"furni/nitro-editor",
|
|
"furni/repair-icons",
|
|
"furni/resync",
|
|
"furni/upload",
|
|
"pets",
|
|
"pets/batch",
|
|
"pets/icon",
|
|
];
|
|
|
|
describe("admin import backend contract", () => {
|
|
it.each(ROUTES)("provides and guards /api/admin/import/%s", (route) => {
|
|
const path = `src/app/api/admin/import/${route}/route.ts`;
|
|
expect(existsSync(path), path).toBe(true);
|
|
const source = readFileSync(path, "utf8");
|
|
expect(source, path).toContain("PERMS.ASSETS_IMPORT");
|
|
});
|
|
|
|
it("does not leave import actions as successful no-op stubs", () => {
|
|
const source = readFileSync("src/actions/import-furni.ts", "utf8");
|
|
expect(source).not.toContain("deleted: 0, remaining: 0");
|
|
});
|
|
|
|
it("keeps badge import ExternalTexts + WebsiteBadges in sync", () => {
|
|
const service = readFileSync("src/lib/services/import-badge.ts", "utf8");
|
|
expect(service).toContain("ExternalTexts.json");
|
|
expect(service).toContain("WebsiteBadges");
|
|
expect(service).toContain("importBadgeSynced");
|
|
expect(
|
|
readFileSync("src/app/api/admin/import/badges/route.ts", "utf8"),
|
|
).toContain("importBadgeSynced");
|
|
});
|
|
});
|