Release File Tools 0.2.0
Verify / verify (push) Canceled after 0s

This commit is contained in:
2026-09-02 08:24:07 +02:00
parent 055f533cf1
commit 91dc9bc2f7
30 changed files with 979 additions and 96 deletions
+46 -1
View File
@@ -57,6 +57,51 @@ test("inspects and hashes a local file in an immutable module worker", async ({
expect(external).toEqual([]);
});
test("automatically inspects every file in a bounded batch", async ({
page,
}) => {
await page.goto("/deep/nested/file/");
await page
.locator('input[type="file"]')
.first()
.setInputFiles([
"tests/fixtures/hello.txt",
"tests/fixtures/second.txt",
"tests/fixtures/third.csv",
]);
await expect(
page.locator(".file-row small", { hasText: "inspected" }),
).toHaveCount(3, {
timeout: 30_000,
});
await expect(page.getByText("Inspecting 3 of 3 files")).toBeHidden();
await page.getByRole("button", { name: "third.csv" }).click();
await expect(
page.getByText("text/plain (.txt)", { exact: true }),
).toBeVisible();
});
test("previews collision-safe batch renames and exposes split/hash workflows", async ({
page,
}) => {
await page.goto("/deep/nested/file/");
await page
.locator('input[type="file"]')
.first()
.setInputFiles(["tests/fixtures/hello.txt", "tests/fixtures/second.txt"]);
await page.getByLabel("Template").fill("same.{ext}");
await page.getByRole("button", { name: "Plan rename" }).click();
await expect(page.getByRole("list", { name: "Rename plan" })).toContainText(
"same (2).txt",
);
await expect(
page.getByRole("button", { name: "Download parts + manifest" }),
).toBeEnabled();
await expect(
page.getByRole("button", { name: "Download SHA256SUMS" }),
).toBeVisible();
});
test("serves the release identity and hardened headers", async ({
request,
}) => {
@@ -69,7 +114,7 @@ test("serves the release identity and hardened headers", async ({
const manifest = await request.get("/deep/nested/file/toolbox-app.json");
await expect(manifest.json()).resolves.toMatchObject({
id: "de.add-ideas.file-tools",
version: "0.1.0",
version: "0.2.0",
entry: "./",
});
});