diff --git a/frontend/package.json b/frontend/package.json index 8e79f907b..95da9ca77 100644 --- a/frontend/package.json +++ b/frontend/package.json @@ -32,7 +32,7 @@ "compile:cljs": "clojure -M:dev:shadow-cljs compile main", "watch": "node ./scripts/watch.js", "e2e:server": "node ./scripts/e2e-server.js", - "e2e:test": "playwright test", + "e2e:test": "playwright test --project default", "storybook:compile": "yarn run compile && clojure -M:dev:shadow-cljs compile storybook", "storybook:watch": "yarn run storybook:compile && concurrently \"clojure -M:dev:shadow-cljs watch storybook\" \"storybook dev -p 6006\" \"yarn run watch\"", "storybook:build": "yarn run storybook:compile && storybook build" diff --git a/frontend/playwright.config.js b/frontend/playwright.config.js index 5446e6967..646795fd2 100644 --- a/frontend/playwright.config.js +++ b/frontend/playwright.config.js @@ -39,8 +39,17 @@ export default defineConfig({ /* Configure projects for major browsers */ projects: [ { - name: "chromium", + name: "default", use: { ...devices["Desktop Chrome"] }, + testDir: "./playwright/ui/specs", + }, + { + name: "ds", + use: { ...devices["Desktop Chrome"] }, + testDir: "./playwright/ui/visual-specs", + expect: { + toHaveScreenshot: { maxDiffPixelRatio: 0.01 }, + }, }, ], diff --git a/frontend/playwright/ui/visual-specs/example.spec.js b/frontend/playwright/ui/visual-specs/example.spec.js new file mode 100644 index 000000000..e4c344eec --- /dev/null +++ b/frontend/playwright/ui/visual-specs/example.spec.js @@ -0,0 +1,10 @@ +import { test, expect } from "@playwright/test"; +import { LoginPage } from "../pages/LoginPage"; + +test("Shows login form correctly", async ({ page }) => { + await LoginPage.initWithLoggedOutUser(page); + const loginPage = new LoginPage(page); + await page.goto("/#/auth/login"); + + await expect(page).toHaveScreenshot(); +}); diff --git a/frontend/playwright/ui/visual-specs/example.spec.js-snapshots/Shows-login-form-correctly-1-ds-linux.png b/frontend/playwright/ui/visual-specs/example.spec.js-snapshots/Shows-login-form-correctly-1-ds-linux.png new file mode 100644 index 000000000..bbe1dc402 Binary files /dev/null and b/frontend/playwright/ui/visual-specs/example.spec.js-snapshots/Shows-login-form-correctly-1-ds-linux.png differ