Files
tyx_AI_xhs/tests/integration/wp4-03-recent-assets.test.ts
T

27 lines
1.2 KiB
TypeScript

import { afterEach, describe, expect, it } from "vitest";
import { join } from "node:path";
import { mkdtempSync, rmSync } from "node:fs";
import { tmpdir } from "node:os";
import { RecentAssetService } from "../../apps/api/src/recent-assets.js";
const roots: string[] = [];
afterEach(() => {
for (const root of roots.splice(0)) rmSync(root, { force: true, recursive: true });
});
describe("TASK-WP4-03 account recent text templates", () => {
it("writes only a successfully used template and isolates accounts", () => {
const root = mkdtempSync(join(tmpdir(), "dada-wp4-03-"));
roots.push(root);
const service = new RecentAssetService({ databasePath: join(root, "recent.sqlite") });
service.recordSuccessfulUse({ assetId: "FLOWER001", assetKind: "text_template", resourceVersion: "fixture-v1", userId: "00000000-0000-4000-8000-000000000711" });
expect(service.list("00000000-0000-4000-8000-000000000711", "text_template")).toEqual([
{ asset_id: "FLOWER001", asset_kind: "text_template", resource_version: "fixture-v1" },
]);
expect(service.list("00000000-0000-4000-8000-000000000712", "text_template")).toEqual([]);
service.close();
});
});