feat: publish Velum copies beside project folder
This commit is contained in:
@@ -35,6 +35,9 @@ describe("Nachbearbeitung von Projektständen", () => {
|
||||
expect(result.run.files[0].output).toBe("Falsch Positiv-PERSON_02.txt");
|
||||
expect(await fs.readFile(join(result.directory, "files", result.run.files[0].output), "utf8"))
|
||||
.toBe("Falsch Positiv traf PERSON_02 und PERSON_02. PERSON_02 blieb.");
|
||||
expect(result.run.copyPath?.startsWith(join(root, "Quelle-Velum-"))).toBe(true);
|
||||
expect(await fs.readFile(join(result.run.copyPath!, result.run.files[0].output), "utf8"))
|
||||
.toBe("Falsch Positiv traf PERSON_02 und PERSON_02. PERSON_02 blieb.");
|
||||
expect(result.run.mapping.PERSON_03.merged_into).toBe("PERSON_02");
|
||||
expect(result.run.mapping.PERSON_04.merged_into).toBe("PERSON_02");
|
||||
expect(result.run.mapping.PERSON_01).toBeUndefined();
|
||||
|
||||
@@ -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