From e62ea91155f99095e6f901a5feac38d3fa48257a Mon Sep 17 00:00:00 2001 From: Okechi Jones-Williams Date: Fri, 7 Nov 2025 12:47:09 +0000 Subject: [PATCH 1/5] setting up test structure --- tests/{playwright => e2e/web/specs}/some.test.ts | 0 1 file changed, 0 insertions(+), 0 deletions(-) rename tests/{playwright => e2e/web/specs}/some.test.ts (100%) diff --git a/tests/playwright/some.test.ts b/tests/e2e/web/specs/some.test.ts similarity index 100% rename from tests/playwright/some.test.ts rename to tests/e2e/web/specs/some.test.ts From 0add06b6eb4a892920636785f5344c9d64a47c53 Mon Sep 17 00:00:00 2001 From: Okechi Jones-Williams Date: Fri, 7 Nov 2025 13:06:34 +0000 Subject: [PATCH 2/5] . --- tests/e2e/backend/.keep | 0 tests/e2e/mobile/.keep | 0 tests/e2e/utils/.keep | 0 tests/e2e/web/pageManager/.keep | 0 tests/e2e/web/specs/.keep | 0 tests/{e2e/web/specs => playwright}/some.test.ts | 0 6 files changed, 0 insertions(+), 0 deletions(-) create mode 100644 tests/e2e/backend/.keep create mode 100644 tests/e2e/mobile/.keep create mode 100644 tests/e2e/utils/.keep create mode 100644 tests/e2e/web/pageManager/.keep create mode 100644 tests/e2e/web/specs/.keep rename tests/{e2e/web/specs => playwright}/some.test.ts (100%) diff --git a/tests/e2e/backend/.keep b/tests/e2e/backend/.keep new file mode 100644 index 00000000..e69de29b diff --git a/tests/e2e/mobile/.keep b/tests/e2e/mobile/.keep new file mode 100644 index 00000000..e69de29b diff --git a/tests/e2e/utils/.keep b/tests/e2e/utils/.keep new file mode 100644 index 00000000..e69de29b diff --git a/tests/e2e/web/pageManager/.keep b/tests/e2e/web/pageManager/.keep new file mode 100644 index 00000000..e69de29b diff --git a/tests/e2e/web/specs/.keep b/tests/e2e/web/specs/.keep new file mode 100644 index 00000000..e69de29b diff --git a/tests/e2e/web/specs/some.test.ts b/tests/playwright/some.test.ts similarity index 100% rename from tests/e2e/web/specs/some.test.ts rename to tests/playwright/some.test.ts From ae75bdba4abffb6d9bd4932186db63d99dabfb04 Mon Sep 17 00:00:00 2001 From: Okechi Jones-Williams Date: Fri, 7 Nov 2025 15:49:33 +0000 Subject: [PATCH 3/5] added playwright config file, deleted original playwright folder and moved "some.test" file --- package.json | 3 ++ playwright.config.ts | 28 +++++++++++++++++++ .../web/specs}/some.test.ts | 0 3 files changed, 31 insertions(+) create mode 100644 playwright.config.ts rename tests/{playwright => e2e/web/specs}/some.test.ts (100%) diff --git a/package.json b/package.json index 131eb76a..97639059 100644 --- a/package.json +++ b/package.json @@ -21,6 +21,9 @@ "sync-android": "./scripts/sync_android.sh", "migrate": "./scripts/migrate.sh", "test": "jest", + "playwright": "playwright test", + "playwright:ui": "playwright test --ui", + "playwright:debug": "playwright test --debug", "test:watch": "jest --watch", "test:coverage": "jest --coverage", "test:update": "jest --updateSnapshot", diff --git a/playwright.config.ts b/playwright.config.ts new file mode 100644 index 00000000..6e50ace9 --- /dev/null +++ b/playwright.config.ts @@ -0,0 +1,28 @@ +import { defineConfig, devices } from '@playwright/test'; + +export default defineConfig({ + testDir: './tests/e2e', + fullyParallel: true, + forbidOnly: !!process.env.CI, + retries: process.env.CI ? 2 : 0, + workers: process.env.CI ? 1 : undefined, + reporter: 'html', + use: { + baseURL: 'http://localhost:3000', + trace: 'on-first-retry', + }, + projects: [ + { + name: 'chromium', + use: { ...devices['Desktop Chrome'] }, + }, + // { + // name: 'firefox', + // use: { ...devices['Desktop Firefox'] }, + // }, + // { + // name: 'webkit', + // use: { ...devices['Desktop Safari'] }, + // }, + ], +}); \ No newline at end of file diff --git a/tests/playwright/some.test.ts b/tests/e2e/web/specs/some.test.ts similarity index 100% rename from tests/playwright/some.test.ts rename to tests/e2e/web/specs/some.test.ts From b3a6b315576d33060ffe3559aa4d37ca1bef4505 Mon Sep 17 00:00:00 2001 From: Okechi Jones-Williams Date: Fri, 7 Nov 2025 16:43:56 +0000 Subject: [PATCH 4/5] continued test structure setup --- .gitignore | 3 +++ package.json | 1 + playwright.config.ts | 2 +- tests/e2e/web/specs/some.test.ts | 3 ++- 4 files changed, 7 insertions(+), 2 deletions(-) diff --git a/.gitignore b/.gitignore index 9e813edd..29d68d4d 100644 --- a/.gitignore +++ b/.gitignore @@ -13,6 +13,9 @@ # testing /coverage +# Playwright +/tests/reports/playwright-report + # next.js /.next/ /out/ diff --git a/package.json b/package.json index 97639059..4df114de 100644 --- a/package.json +++ b/package.json @@ -24,6 +24,7 @@ "playwright": "playwright test", "playwright:ui": "playwright test --ui", "playwright:debug": "playwright test --debug", + "playwright:report": "npx playwright show-report tests/reports/playwright-report", "test:watch": "jest --watch", "test:coverage": "jest --coverage", "test:update": "jest --updateSnapshot", diff --git a/playwright.config.ts b/playwright.config.ts index 6e50ace9..88f48476 100644 --- a/playwright.config.ts +++ b/playwright.config.ts @@ -6,7 +6,7 @@ export default defineConfig({ forbidOnly: !!process.env.CI, retries: process.env.CI ? 2 : 0, workers: process.env.CI ? 1 : undefined, - reporter: 'html', + reporter: [['html', {outputFolder: `tests/reports/playwright-report`, open: 'on-falure'}]], use: { baseURL: 'http://localhost:3000', trace: 'on-first-retry', diff --git a/tests/e2e/web/specs/some.test.ts b/tests/e2e/web/specs/some.test.ts index c5383a52..1e7e2c40 100644 --- a/tests/e2e/web/specs/some.test.ts +++ b/tests/e2e/web/specs/some.test.ts @@ -1,7 +1,8 @@ import {expect, test} from '@playwright/test'; test('shows', async ({page}) => { - // await page.goto('http://localhost:3000/profile'); // Adjust this to your route + await page.goto('/'); // Adjust this to your route + expect(await page.title()).toBe('Compass'); // // const spinner = page.locator('[data-testid="spinner"]'); // await expect(spinner).toBeVisible(); From d91d2af35f13969dfbc247a1743d2293b97a8e76 Mon Sep 17 00:00:00 2001 From: Okechi Jones-Williams Date: Fri, 7 Nov 2025 21:15:36 +0000 Subject: [PATCH 5/5] Updating test folder structure --- .github/workflows/ci.yml | 4 ++-- tests/e2e/web/{pageManager => .auth}/.keep | 0 tests/e2e/web/components/.keep | 0 tests/e2e/web/pages/.keep | 0 tests/e2e/web/utils/.keep | 0 5 files changed, 2 insertions(+), 2 deletions(-) rename tests/e2e/web/{pageManager => .auth}/.keep (100%) create mode 100644 tests/e2e/web/components/.keep create mode 100644 tests/e2e/web/pages/.keep create mode 100644 tests/e2e/web/utils/.keep diff --git a/.github/workflows/ci.yml b/.github/workflows/ci.yml index 56005eaf..fd5edb0b 100644 --- a/.github/workflows/ci.yml +++ b/.github/workflows/ci.yml @@ -48,13 +48,13 @@ jobs: - name: Run E2E tests env: NEXT_PUBLIC_API_URL: localhost:8088 - NEXT_PUBLIC_FIREBASE_ENV: PROD + NEXT_PUBLIC_FIREBASE_ENV: DEV NEXT_PUBLIC_FIREBASE_API_KEY: ${{ secrets.NEXT_PUBLIC_FIREBASE_API_KEY }} NEXT_PUBLIC_SUPABASE_KEY: ${{ secrets.NEXT_PUBLIC_SUPABASE_KEY }} run: | yarn --cwd=web serve & npx wait-on http://localhost:3000 - npx playwright test tests/playwright + npx playwright test tests/e2e SERVER_PID=$(fuser -k 3000/tcp) echo $SERVER_PID kill $SERVER_PID diff --git a/tests/e2e/web/pageManager/.keep b/tests/e2e/web/.auth/.keep similarity index 100% rename from tests/e2e/web/pageManager/.keep rename to tests/e2e/web/.auth/.keep diff --git a/tests/e2e/web/components/.keep b/tests/e2e/web/components/.keep new file mode 100644 index 00000000..e69de29b diff --git a/tests/e2e/web/pages/.keep b/tests/e2e/web/pages/.keep new file mode 100644 index 00000000..e69de29b diff --git a/tests/e2e/web/utils/.keep b/tests/e2e/web/utils/.keep new file mode 100644 index 00000000..e69de29b