feat: publish Velum copies beside project folder
This commit is contained in:
@@ -53,6 +53,29 @@ describe("Velum-Projektstände", () => {
|
||||
.toEqual([first.run.id, second.run.id].sort());
|
||||
});
|
||||
|
||||
it("legt pseudonymisierte Kopien neben dem Projekt ab und behält die Tabelle privat", async () => {
|
||||
const root = await fs.mkdtemp(join(tmpdir(), "velum-sibling-copy-test-"));
|
||||
roots.push(root);
|
||||
const source = join(root, "Quelle");
|
||||
const support = join(root, "Raycast");
|
||||
await fs.mkdir(source);
|
||||
const created = await project.createRun(source, support);
|
||||
created.run.mapping = { PERSON_01: { original: "Max Mustermann", type: "PERSON" } };
|
||||
created.run.files = [{ source: "Unterordner/Name.txt", output: "Unterordner/PERSON_01.txt", kind: "text" }];
|
||||
await fs.mkdir(join(created.directory, "files", "Unterordner"));
|
||||
await fs.writeFile(join(created.directory, "files", "Unterordner", "PERSON_01.txt"), "PERSON_01");
|
||||
const copyPath = await project.publishProjectCopies(created.run, created.directory);
|
||||
created.run.copyPath = copyPath;
|
||||
await project.saveRun(created.directory, created.run);
|
||||
expect(copyPath.startsWith(join(root, "Quelle-Velum-"))).toBe(true);
|
||||
expect(project.runCopiesPath(created.run, created.directory)).toBe(copyPath);
|
||||
expect(await fs.readFile(join(copyPath, "Unterordner", "PERSON_01.txt"), "utf8")).toBe("PERSON_01");
|
||||
expect(await fs.readdir(copyPath)).toEqual(["Unterordner"]);
|
||||
expect(await fs.readFile(join(created.directory, "run.json"), "utf8")).toContain("Max Mustermann");
|
||||
await expect(project.publishProjectCopies(created.run, created.directory)).rejects.toThrow("bereits vorhanden");
|
||||
expect((await project.listRuns(source, support))[0].run.copyPath).toBe(copyPath);
|
||||
});
|
||||
|
||||
it("behält die Kategorieauswahl pro Projekt für den nächsten Lauf", async () => {
|
||||
const root = await fs.mkdtemp(join(tmpdir(), "velum-entity-types-test-"));
|
||||
roots.push(root);
|
||||
|
||||
Reference in New Issue
Block a user