27 lines
1.2 KiB
TypeScript
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();
|
|
});
|
|
});
|