test(e2e): ensure cascade delete works
Some checks failed
Release Workflow / determine-release-type (push) Has been cancelled
Release Workflow / checks (push) Has been cancelled
Release Workflow / e2e-tests (push) Has been cancelled
Release Workflow / build-images (push) Has been cancelled
Release Workflow / publish-release (push) Has been cancelled
Some checks failed
Release Workflow / determine-release-type (push) Has been cancelled
Release Workflow / checks (push) Has been cancelled
Release Workflow / e2e-tests (push) Has been cancelled
Release Workflow / build-images (push) Has been cancelled
Release Workflow / publish-release (push) Has been cancelled
This commit is contained in:
parent
dda7b9939f
commit
bf82bbf48a
2 changed files with 19 additions and 2 deletions
|
|
@ -2,6 +2,8 @@ import { expect, test } from "@playwright/test";
|
|||
import path from "node:path";
|
||||
import fs from "node:fs";
|
||||
|
||||
test.describe.configure({ mode: "serial" });
|
||||
|
||||
test.beforeAll(() => {
|
||||
const testDataPath = path.join(process.cwd(), "playwright", "temp");
|
||||
if (fs.existsSync(testDataPath)) {
|
||||
|
|
@ -61,7 +63,7 @@ test("can backup & restore a file", async ({ page }) => {
|
|||
fs.writeFileSync(filePath, JSON.stringify({ data: "modified file" }));
|
||||
|
||||
// 6. Restores the file from backup
|
||||
await page.getByRole('button', { name: /20 B/ }).click();
|
||||
await page.getByRole("button", { name: /20 B/ }).click();
|
||||
await page.getByRole("link", { name: "Restore" }).click();
|
||||
await expect(page).toHaveURL(/\/restore/);
|
||||
await page.getByRole("button", { name: "Restore All" }).click();
|
||||
|
|
@ -71,3 +73,19 @@ test("can backup & restore a file", async ({ page }) => {
|
|||
const restoredContent = fs.readFileSync(filePath, "utf8");
|
||||
expect(JSON.parse(restoredContent)).toEqual({ data: "test file" });
|
||||
});
|
||||
|
||||
test("deleting a volume cascades and removes its backup schedule", async ({ page }) => {
|
||||
await page.goto("/backups");
|
||||
await page.getByText("Test Backup", { exact: true }).first().click();
|
||||
|
||||
await expect(page.getByRole("link", { name: "Test Volume" })).toBeVisible();
|
||||
await page.getByRole("link", { name: "Test Volume" }).click();
|
||||
|
||||
await page.getByRole("button", { name: "Delete" }).click();
|
||||
await expect(page.getByText("All backup schedules associated with this volume will also be removed.")).toBeVisible();
|
||||
await page.getByRole("button", { name: "Delete volume" }).click();
|
||||
await expect(page.getByText("Volume deleted successfully")).toBeVisible();
|
||||
|
||||
await page.goto("/backups");
|
||||
await expect(page.getByText("Test Backup", { exact: true })).toHaveCount(0);
|
||||
});
|
||||
|
|
|
|||
|
|
@ -3,7 +3,6 @@
|
|||
"private": true,
|
||||
"type": "module",
|
||||
"scripts": {
|
||||
"postinstall": "lefthook install",
|
||||
"lint": "oxlint --type-aware",
|
||||
"dev": "NODE_ENV=development bunx --bun vite",
|
||||
"build": "vite build",
|
||||
|
|
|
|||
Loading…
Reference in a new issue