diff --git a/package.json b/package.json index f725290..6318466 100644 --- a/package.json +++ b/package.json @@ -7,7 +7,7 @@ "dev": "next dev", "postinstall": "prisma generate", "lint": "next lint", - "test:e2e": "npm run db-seed && playwright test", + "test:e2e": "npm run db-seed && playwright test --workers 1 --headed", "db-seed": "NODE_ENV=development prisma db seed", "start": "next start" }, diff --git a/tests/landing.spec.ts b/tests/000-landing.spec.ts similarity index 100% rename from tests/landing.spec.ts rename to tests/000-landing.spec.ts diff --git a/tests/videos.spec.ts b/tests/001-videos.spec.ts similarity index 88% rename from tests/videos.spec.ts rename to tests/001-videos.spec.ts index ea87bc1..e34439e 100644 --- a/tests/videos.spec.ts +++ b/tests/001-videos.spec.ts @@ -1,7 +1,5 @@ import { test, expect } from "@playwright/test"; -test.describe.configure({ mode: "serial" }); - test("should be able to view videos", async ({ page }) => { await page.goto("http://localhost:3000/"); await page @@ -22,7 +20,7 @@ test("can upload video", async ({ page }) => { await page.getByText("New video").click(); await page .getByText("Drop files to Attach, or browse") - .setInputFiles("tests/.auth/example_video.webm"); + .setInputFiles("tests/assets/example_video.webm"); await page.getByRole("button", { name: "Upload" }).click(); await expect(page).toHaveURL(/http:\/\/localhost:3000\/share\/[A-Za-z0-9]+/, { timeout: 30000, @@ -30,7 +28,5 @@ test("can upload video", async ({ page }) => { await page.click('[href="/videos"]'); await page.getByText("example_video.webm").click(); - await expect(page).toHaveURL(/http:\/\/localhost:3000\/share\/[A-Za-z0-9]+/, { - timeout: 30000, - }); + await expect(page).toHaveURL(/http:\/\/localhost:3000\/share\/[A-Za-z0-9]+/); }); diff --git a/tests/video.spec.ts b/tests/002-video.spec.ts similarity index 77% rename from tests/video.spec.ts rename to tests/002-video.spec.ts index 67bef1e..fb76e9b 100644 --- a/tests/video.spec.ts +++ b/tests/002-video.spec.ts @@ -31,3 +31,14 @@ test("should be able to rename video", async ({ page }) => { await page.locator("div > span.text-lg.font-medium").textContent() ).toBe(randomTitle); }); + +test("should be able to share video", async ({ page }) => { + await page.goto("http://localhost:3000/videos"); + await page.locator("div.grid > a:nth-child(1)").click(); + await expect(page).toHaveURL(/http:\/\/localhost:3000\/share\/[A-Za-z0-9]+/); + + await page.getByText("Share").click(); + await page.locator('button[role="switch"]').click(); + + await page.waitForTimeout(5000); +}); diff --git a/tests/assets/example_video.webm b/tests/assets/example_video.webm new file mode 100644 index 0000000..a9a55fa Binary files /dev/null and b/tests/assets/example_video.webm differ