diff --git a/.github/workflows/e2e.yml b/.github/workflows/e2e.yml index 6103bf6..fadfd3f 100644 --- a/.github/workflows/e2e.yml +++ b/.github/workflows/e2e.yml @@ -9,8 +9,8 @@ jobs: timeout-minutes: 60 runs-on: ubuntu-latest steps: - - uses: actions/checkout@v2 - - uses: actions/setup-node@v2 + - uses: actions/checkout@v3 + - uses: actions/setup-node@v3 with: node-version: '14.x' - name: Install dependencies @@ -18,8 +18,8 @@ jobs: - name: Install Playwright Browsers run: npx playwright install --with-deps - name: Run Playwright tests - run: npx playwright test - - uses: actions/upload-artifact@v2 + run: npm run test + - uses: actions/upload-artifact@v3 if: always() with: name: playwright-report diff --git a/.github/workflows/validate.yml b/.github/workflows/validate.yml index b80a626..c1f2e4d 100644 --- a/.github/workflows/validate.yml +++ b/.github/workflows/validate.yml @@ -9,8 +9,8 @@ jobs: timeout-minutes: 60 runs-on: ubuntu-latest steps: - - uses: actions/checkout@v2 - - uses: actions/setup-node@v2 + - uses: actions/checkout@v3 + - uses: actions/setup-node@v3 with: node-version: '14.x' - name: Install dependencies diff --git a/e2e/default.spec.ts b/e2e/default.spec.ts index 5085af2..d8d3e4c 100644 --- a/e2e/default.spec.ts +++ b/e2e/default.spec.ts @@ -6,7 +6,8 @@ test.beforeEach(async ({ page }) => { test.describe('Basic test', () => { test('should show the title', async ({ page }) => { - const title = page.locator('title'); - await expect(title).toHaveText('Reactjs Developer Community in Kenya'); + await expect( + page.getByRole('heading', { name: 'React Developer Community Kenya' }) + ).toBeVisible(); }); }); diff --git a/e2e/events.spec.ts b/e2e/events.spec.ts index b3d218e..4550064 100644 --- a/e2e/events.spec.ts +++ b/e2e/events.spec.ts @@ -7,10 +7,14 @@ test.beforeEach(async ({ page }) => { test.describe('Test if see more link is clickable', () => { test('should navigate to the correct URL when See More is clicked', async ({ page, + context, + browserName, }) => { + test.slow(browserName === 'webkit', 'This test times out on webkit'); const [newPage] = await Promise.all([ - page.waitForEvent('popup'), - page.locator('#events >> text="See More"').click(), + context.waitForEvent('page'), + page.waitForLoadState(), + page.getByRole('link', { name: 'See More' }).click(), ]); await expect(newPage).toHaveURL( 'https://kommunity.com/reactjs-developer-community-kenya-reactdevske/events' diff --git a/package-lock.json b/package-lock.json index 0784e5c..18b17cf 100644 --- a/package-lock.json +++ b/package-lock.json @@ -13,7 +13,7 @@ "react-dom": "18.1.0" }, "devDependencies": { - "@playwright/test": "1.22.2", + "@playwright/test": "1.27.1", "@tailwindcss/aspect-ratio": "^0.4.0", "@types/react": "18.0.21", "@typescript-eslint/eslint-plugin": "^5.38.1", @@ -341,13 +341,13 @@ } }, "node_modules/@playwright/test": { - "version": "1.22.2", - "resolved": "https://registry.npmjs.org/@playwright/test/-/test-1.22.2.tgz", - "integrity": "sha512-cCl96BEBGPtptFz7C2FOSN3PrTnJ3rPpENe+gYCMx4GNNDlN4tmo2D89y13feGKTMMAIVrXfSQ/UmaQKLy1XLA==", + "version": "1.27.1", + "resolved": "https://registry.npmjs.org/@playwright/test/-/test-1.27.1.tgz", + "integrity": "sha512-mrL2q0an/7tVqniQQF6RBL2saskjljXzqNcCOVMUjRIgE6Y38nCNaP+Dc2FBW06bcpD3tqIws/HT9qiMHbNU0A==", "dev": true, "dependencies": { "@types/node": "*", - "playwright-core": "1.22.2" + "playwright-core": "1.27.1" }, "bin": { "playwright": "cli.js" @@ -2935,9 +2935,9 @@ } }, "node_modules/playwright-core": { - "version": "1.22.2", - "resolved": "https://registry.npmjs.org/playwright-core/-/playwright-core-1.22.2.tgz", - "integrity": "sha512-w/hc/Ld0RM4pmsNeE6aL/fPNWw8BWit2tg+TfqJ3+p59c6s3B6C8mXvXrIPmfQEobkcFDc+4KirNzOQ+uBSP1Q==", + "version": "1.27.1", + "resolved": "https://registry.npmjs.org/playwright-core/-/playwright-core-1.27.1.tgz", + "integrity": "sha512-9EmeXDncC2Pmp/z+teoVYlvmPWUC6ejSSYZUln7YaP89Z6lpAaiaAnqroUt/BoLo8tn7WYShcfaCh+xofZa44Q==", "dev": true, "bin": { "playwright": "cli.js" @@ -4081,13 +4081,13 @@ } }, "@playwright/test": { - "version": "1.22.2", - "resolved": "https://registry.npmjs.org/@playwright/test/-/test-1.22.2.tgz", - "integrity": "sha512-cCl96BEBGPtptFz7C2FOSN3PrTnJ3rPpENe+gYCMx4GNNDlN4tmo2D89y13feGKTMMAIVrXfSQ/UmaQKLy1XLA==", + "version": "1.27.1", + "resolved": "https://registry.npmjs.org/@playwright/test/-/test-1.27.1.tgz", + "integrity": "sha512-mrL2q0an/7tVqniQQF6RBL2saskjljXzqNcCOVMUjRIgE6Y38nCNaP+Dc2FBW06bcpD3tqIws/HT9qiMHbNU0A==", "dev": true, "requires": { "@types/node": "*", - "playwright-core": "1.22.2" + "playwright-core": "1.27.1" } }, "@rushstack/eslint-patch": { @@ -5936,9 +5936,9 @@ "dev": true }, "playwright-core": { - "version": "1.22.2", - "resolved": "https://registry.npmjs.org/playwright-core/-/playwright-core-1.22.2.tgz", - "integrity": "sha512-w/hc/Ld0RM4pmsNeE6aL/fPNWw8BWit2tg+TfqJ3+p59c6s3B6C8mXvXrIPmfQEobkcFDc+4KirNzOQ+uBSP1Q==", + "version": "1.27.1", + "resolved": "https://registry.npmjs.org/playwright-core/-/playwright-core-1.27.1.tgz", + "integrity": "sha512-9EmeXDncC2Pmp/z+teoVYlvmPWUC6ejSSYZUln7YaP89Z6lpAaiaAnqroUt/BoLo8tn7WYShcfaCh+xofZa44Q==", "dev": true }, "postcss": { diff --git a/package.json b/package.json index 72e9b7f..280de79 100644 --- a/package.json +++ b/package.json @@ -19,7 +19,7 @@ "react-dom": "18.1.0" }, "devDependencies": { - "@playwright/test": "1.22.2", + "@playwright/test": "1.27.1", "@tailwindcss/aspect-ratio": "^0.4.0", "@types/react": "18.0.21", "@typescript-eslint/eslint-plugin": "^5.38.1",