Skip to content

ops - testing github actions #52

ops - testing github actions

ops - testing github actions #52

GitHub Actions / Playwright Test Report succeeded Feb 14, 2024 in 1s

16 passed, 10 failed and 2 skipped

Tests failed

❌ junit.xml

28 tests were completed in 18ms with 16 passed, 10 failed and 2 skipped.

Test suite Passed Failed Skipped Time
accessibility/axe.spec.ts 2⚪ 0ms
e2e/productSearch.spec.ts 1✅ 1s
e2e/productSearch.spec.ts 1✅ 2s
pages/home.spec.ts 4❌ 69s
pages/home.spec.ts 1❌ 3s
pages/home.spec.ts 5❌ 85s
pages/search.spec.ts 5✅ 11s
pages/search.spec.ts 5✅ 15s
visual/visual.spec.ts 1✅ 1s
visual/visual.spec.ts 1✅ 4s
visual/visual.spec.ts 2✅ 2s

✅ accessibility/axe.spec.ts

⚪ Accessibility Scans › home page a11y
⚪ Accessibility Scans › search page a11y

✅ e2e/productSearch.spec.ts

✅ product search › search for product

✅ e2e/productSearch.spec.ts

✅ product search › search for product

❌ pages/home.spec.ts

❌ home page › title is correct
	[chromium] › pages/home.spec.ts:8:7 › home page › title is correct ───────────────────────────────
❌ home page › product cards are visible
	[chromium] › pages/home.spec.ts:12:7 › home page › product cards are visible ─────────────────────
❌ home page › nav bar components are visible
	[chromium] › pages/home.spec.ts:24:7 › home page › nav bar components are visible ────────────────
❌ home page › footer components are visible
	[chromium] › pages/home.spec.ts:33:7 › home page › footer components are visible ─────────────────

❌ pages/home.spec.ts

❌ home page › has no broken links
	[chromium] › pages/home.spec.ts:40:7 › home page › has no broken links ───────────────────────────

❌ pages/home.spec.ts

❌ home page › title is correct
	[firefox] › pages/home.spec.ts:8:7 › home page › title is correct ────────────────────────────────
❌ home page › product cards are visible
	[firefox] › pages/home.spec.ts:12:7 › home page › product cards are visible ──────────────────────
❌ home page › nav bar components are visible
	[firefox] › pages/home.spec.ts:24:7 › home page › nav bar components are visible ─────────────────
❌ home page › footer components are visible
	[firefox] › pages/home.spec.ts:33:7 › home page › footer components are visible ──────────────────
❌ home page › has no broken links
	[firefox] › pages/home.spec.ts:40:7 › home page › has no broken links ────────────────────────────

✅ pages/search.spec.ts

✅ search page › title is correct
✅ search page › product cards are visible
✅ search page › nav bar components are visible
✅ search page › footer components are visible
✅ search page › has no broken links

✅ pages/search.spec.ts

✅ search page › title is correct
✅ search page › product cards are visible
✅ search page › nav bar components are visible
✅ search page › footer components are visible
✅ search page › has no broken links

✅ visual/visual.spec.ts

✅ home page visual-test › snapshot

✅ visual/visual.spec.ts

✅ search page visual-test › snapshot

✅ visual/visual.spec.ts

✅ home page visual-test › snapshot
✅ search page visual-test › snapshot

Annotations

Check failure on line 0 in junit.xml

See this annotation in the file changed.

@github-actions github-actions / Playwright Test Report

pages/home.spec.ts ► home page › title is correct

Failed test found in:
  junit.xml
Error:
    [chromium] › pages/home.spec.ts:8:7 › home page › title is correct ───────────────────────────────
Raw output
  [chromium] › pages/home.spec.ts:8:7 › home page › title is correct ───────────────────────────────

    Error: Timed out 5000ms waiting for expect(locator).toHaveTitle(expected)

    Locator: locator(':root')
    Expected string: "Acme Store!!!"
    Received string: "Acme Store"
    Call log:
      - expect.toHaveTitle with timeout 5000ms
      - waiting for locator(':root')
      -   locator resolved to <html lang="en" class="__variable_914793">…</html>
      -   unexpected value "Acme Store"
      -   locator resolved to <html lang="en" class="__variable_914793">…</html>
      -   unexpected value "Acme Store"
      -   locator resolved to <html lang="en" class="__variable_914793">…</html>
      -   unexpected value "Acme Store"
      -   locator resolved to <html lang="en" class="__variable_914793">…</html>
      -   unexpected value "Acme Store"
      -   locator resolved to <html lang="en" class="__variable_914793">…</html>
      -   unexpected value "Acme Store"
      -   locator resolved to <html lang="en" class="__variable_914793">…</html>
      -   unexpected value "Acme Store"
      -   locator resolved to <html lang="en" class="__variable_914793">…</html>
      -   unexpected value "Acme Store"
      -   locator resolved to <html lang="en" class="__variable_914793">…</html>
      -   unexpected value "Acme Store"
      -   locator resolved to <html lang="en" class="__variable_914793">…</html>
      -   unexpected value "Acme Store"


       7 |
       8 |   test("title is correct", async ({ homePage }) => {
    >  9 |     await expect(homePage.page).toHaveTitle("Acme Store!!!");
         |                                 ^
      10 |   });
      11 |
      12 |   test("product cards are visible", async ({ homePage }) => {

        at /home/runner/work/playwright-boilerplate/playwright-boilerplate/tests/pages/home.spec.ts:9:33

    attachment #1: video (video/webm) ──────────────────────────────────────────────────────────────
    all-blob-reports/resources/8082a855707cbaf5281c40510ab5821eea06a43e.webm
    ────────────────────────────────────────────────────────────────────────────────────────────────

    attachment #2: trace (application/zip) ─────────────────────────────────────────────────────────
    all-blob-reports/resources/3e7622d93cb88ef24e053ececb7cee05a3b4f38c.zip
    Usage:

        npx playwright show-trace all-blob-reports/resources/3e7622d93cb88ef24e053ececb7cee05a3b4f38c.zip

    ────────────────────────────────────────────────────────────────────────────────────────────────

    Retry #1 ───────────────────────────────────────────────────────────────────────────────────────

    Error: Timed out 5000ms waiting for expect(locator).toHaveTitle(expected)

    Locator: locator(':root')
    Expected string: "Acme Store!!!"
    Received string: "Acme Store"
    Call log:
      - expect.toHaveTitle with timeout 5000ms
      - waiting for locator(':root')
      -   locator resolved to <html lang="en" class="__variable_914793">…</html>
      -   unexpected value "Acme Store"
      -   locator resolved to <html lang="en" class="__variable_914793">…</html>
      -   unexpected value "Acme Store"
      -   locator resolved to <html lang="en" class="__variable_914793">…</html>
      -   unexpected value "Acme Store"
      -   locator resolved to <html lang="en" class="__variable_914793">…</html>
      -   unexpected value "Acme Store"
      -   locator resolved to <html lang="en" class="__variable_914793">…</html>
      -   unexpected value "Acme Store"
      -   locator resolved to <html lang="en" class="__variable_914793">…</html>
      -   unexpected value "Acme Store"
      -   locator resolved to <html lang="en" class="__variable_914793">…</html>
      -   unexpected value "Acme Store"
      -   locator resolved to <html lang="en" class="__variable_914793">…</html>
      -   unexpected value "Acme Store"
      -   locator resolved to <html lang="en" class="__variable_914793">…</html>
      -   unexpected value "Acme Store"


       7 |
       8 |   test("title is correct", async ({ homePage }) => {
    >  9 |     await expect(homePage.page).toHaveTitle("Acme Store!!!");
         |                                 ^
      10 |   });
      11 |
      12 |   test("product cards are visible", async ({ homePage }) => {

        at /home/runner/work/playwright-boilerplate/playwright-boilerplate/tests/pages/home.spec.ts:9:33

    attachment #1: video (video/webm) ──────────────────────────────────────────────────────────────
    all-blob-reports/resources/83dbf385ea5c0e3e17c4bd5e8ddb36e8099a0cad.webm
    ────────────────────────────────────────────────────────────────────────────────────────────────

    attachment #2: trace (application/zip) ─────────────────────────────────────────────────────────
    all-blob-reports/resources/7d73e2a702543d3efeb3fd3c8de0a6df2dc1815c.zip
    Usage:

        npx playwright show-trace all-blob-reports/resources/7d73e2a702543d3efeb3fd3c8de0a6df2dc1815c.zip

    ────────────────────────────────────────────────────────────────────────────────────────────────

    Retry #2 ───────────────────────────────────────────────────────────────────────────────────────

    Error: Timed out 5000ms waiting for expect(locator).toHaveTitle(expected)

    Locator: locator(':root')
    Expected string: "Acme Store!!!"
    Received string: "Acme Store"
    Call log:
      - expect.toHaveTitle with timeout 5000ms
      - waiting for locator(':root')
      -   locator resolved to <html lang="en" class="__variable_914793">…</html>
      -   unexpected value "Acme Store"
      -   locator resolved to <html lang="en" class="__variable_914793">…</html>
      -   unexpected value "Acme Store"
      -   locator resolved to <html lang="en" class="__variable_914793">…</html>
      -   unexpected value "Acme Store"
      -   locator resolved to <html lang="en" class="__variable_914793">…</html>
      -   unexpected value "Acme Store"
      -   locator resolved to <html lang="en" class="__variable_914793">…</html>
      -   unexpected value "Acme Store"
      -   locator resolved to <html lang="en" class="__variable_914793">…</html>
      -   unexpected value "Acme Store"
      -   locator resolved to <html lang="en" class="__variable_914793">…</html>
      -   unexpected value "Acme Store"
      -   locator resolved to <html lang="en" class="__variable_914793">…</html>
      -   unexpected value "Acme Store"
      -   locator resolved to <html lang="en" class="__variable_914793">…</html>
      -   unexpected value "Acme Store"


       7 |
       8 |   test("title is correct", async ({ homePage }) => {
    >  9 |     await expect(homePage.page).toHaveTitle("Acme Store!!!");
         |                                 ^
      10 |   });
      11 |
      12 |   test("product cards are visible", async ({ homePage }) => {

        at /home/runner/work/playwright-boilerplate/playwright-boilerplate/tests/pages/home.spec.ts:9:33

    attachment #1: video (video/webm) ──────────────────────────────────────────────────────────────
    all-blob-reports/resources/d974706853020608a5b40fb91dd16809ea67d467.webm
    ────────────────────────────────────────────────────────────────────────────────────────────────

    attachment #2: trace (application/zip) ─────────────────────────────────────────────────────────
    all-blob-reports/resources/93d1884557027339f06964fd51a482a9b4c7c5de.zip
    Usage:

        npx playwright show-trace all-blob-reports/resources/93d1884557027339f06964fd51a482a9b4c7c5de.zip

    ────────────────────────────────────────────────────────────────────────────────────────────────

Check failure on line 0 in junit.xml

See this annotation in the file changed.

@github-actions github-actions / Playwright Test Report

pages/home.spec.ts ► home page › product cards are visible

Failed test found in:
  junit.xml
Error:
    [chromium] › pages/home.spec.ts:12:7 › home page › product cards are visible ─────────────────────
Raw output
  [chromium] › pages/home.spec.ts:12:7 › home page › product cards are visible ─────────────────────

    Error: Timed out 5000ms waiting for expect(locator).not.toBeVisible()

    Locator: locator('.grid').getByRole('link').first()
    Expected: not visible
    Received: visible
    Call log:
      - expect.not.toBeVisible with timeout 5000ms
      - waiting for locator('.grid').getByRole('link').first()
      -   locator resolved to <a href="/product/acme-geometric-circles-t-shirt" c…>…</a>
      -   unexpected value "visible"
      -   locator resolved to <a href="/product/acme-geometric-circles-t-shirt" c…>…</a>
      -   unexpected value "visible"
      -   locator resolved to <a href="/product/acme-geometric-circles-t-shirt" c…>…</a>
      -   unexpected value "visible"
      -   locator resolved to <a href="/product/acme-geometric-circles-t-shirt" c…>…</a>
      -   unexpected value "visible"
      -   locator resolved to <a href="/product/acme-geometric-circles-t-shirt" c…>…</a>
      -   unexpected value "visible"
      -   locator resolved to <a href="/product/acme-geometric-circles-t-shirt" c…>…</a>
      -   unexpected value "visible"
      -   locator resolved to <a href="/product/acme-geometric-circles-t-shirt" c…>…</a>
      -   unexpected value "visible"
      -   locator resolved to <a href="/product/acme-geometric-circles-t-shirt" c…>…</a>
      -   unexpected value "visible"
      -   locator resolved to <a href="/product/acme-geometric-circles-t-shirt" c…>…</a>
      -   unexpected value "visible"


      13 |     await expect(homePage.productContainers).toHaveCount(3);
      14 |     for (let productContainer of await homePage.productContainers.all()) {
    > 15 |       await expect(productContainer).not.toBeVisible();
         |                                          ^
      16 |     }
      17 |
      18 |     await expect(homePage.carouselItems).toHaveCount(12);

        at /home/runner/work/playwright-boilerplate/playwright-boilerplate/tests/pages/home.spec.ts:15:42

    attachment #1: video (video/webm) ──────────────────────────────────────────────────────────────
    all-blob-reports/resources/b31b119d44729a9f9e373f98a38afe18ccee1ef2.webm
    ────────────────────────────────────────────────────────────────────────────────────────────────

    attachment #2: trace (application/zip) ─────────────────────────────────────────────────────────
    all-blob-reports/resources/a51cd51e836a8d936e2aef0a9edab739f02ef78c.zip
    Usage:

        npx playwright show-trace all-blob-reports/resources/a51cd51e836a8d936e2aef0a9edab739f02ef78c.zip

    ────────────────────────────────────────────────────────────────────────────────────────────────

    Retry #1 ───────────────────────────────────────────────────────────────────────────────────────

    Error: Timed out 5000ms waiting for expect(locator).not.toBeVisible()

    Locator: locator('.grid').getByRole('link').first()
    Expected: not visible
    Received: visible
    Call log:
      - expect.not.toBeVisible with timeout 5000ms
      - waiting for locator('.grid').getByRole('link').first()
      -   locator resolved to <a href="/product/acme-geometric-circles-t-shirt" c…>…</a>
      -   unexpected value "visible"
      -   locator resolved to <a href="/product/acme-geometric-circles-t-shirt" c…>…</a>
      -   unexpected value "visible"
      -   locator resolved to <a href="/product/acme-geometric-circles-t-shirt" c…>…</a>
      -   unexpected value "visible"
      -   locator resolved to <a href="/product/acme-geometric-circles-t-shirt" c…>…</a>
      -   unexpected value "visible"
      -   locator resolved to <a href="/product/acme-geometric-circles-t-shirt" c…>…</a>
      -   unexpected value "visible"
      -   locator resolved to <a href="/product/acme-geometric-circles-t-shirt" c…>…</a>
      -   unexpected value "visible"
      -   locator resolved to <a href="/product/acme-geometric-circles-t-shirt" c…>…</a>
      -   unexpected value "visible"
      -   locator resolved to <a href="/product/acme-geometric-circles-t-shirt" c…>…</a>
      -   unexpected value "visible"
      -   locator resolved to <a href="/product/acme-geometric-circles-t-shirt" c…>…</a>
      -   unexpected value "visible"


      13 |     await expect(homePage.productContainers).toHaveCount(3);
      14 |     for (let productContainer of await homePage.productContainers.all()) {
    > 15 |       await expect(productContainer).not.toBeVisible();
         |                                          ^
      16 |     }
      17 |
      18 |     await expect(homePage.carouselItems).toHaveCount(12);

        at /home/runner/work/playwright-boilerplate/playwright-boilerplate/tests/pages/home.spec.ts:15:42

    attachment #1: video (video/webm) ──────────────────────────────────────────────────────────────
    all-blob-reports/resources/1fae7c89f1acbdc7c2ea1cee2d2f3ea1b61341b8.webm
    ────────────────────────────────────────────────────────────────────────────────────────────────

    attachment #2: trace (application/zip) ─────────────────────────────────────────────────────────
    all-blob-reports/resources/978645afc5805a88d4e1b773d0795a33d76376da.zip
    Usage:

        npx playwright show-trace all-blob-reports/resources/978645afc5805a88d4e1b773d0795a33d76376da.zip

    ────────────────────────────────────────────────────────────────────────────────────────────────

    Retry #2 ───────────────────────────────────────────────────────────────────────────────────────

    Error: Timed out 5000ms waiting for expect(locator).not.toBeVisible()

    Locator: locator('.grid').getByRole('link').first()
    Expected: not visible
    Received: visible
    Call log:
      - expect.not.toBeVisible with timeout 5000ms
      - waiting for locator('.grid').getByRole('link').first()
      -   locator resolved to <a href="/product/acme-geometric-circles-t-shirt" c…>…</a>
      -   unexpected value "visible"
      -   locator resolved to <a href="/product/acme-geometric-circles-t-shirt" c…>…</a>
      -   unexpected value "visible"
      -   locator resolved to <a href="/product/acme-geometric-circles-t-shirt" c…>…</a>
      -   unexpected value "visible"
      -   locator resolved to <a href="/product/acme-geometric-circles-t-shirt" c…>…</a>
      -   unexpected value "visible"
      -   locator resolved to <a href="/product/acme-geometric-circles-t-shirt" c…>…</a>
      -   unexpected value "visible"
      -   locator resolved to <a href="/product/acme-geometric-circles-t-shirt" c…>…</a>
      -   unexpected value "visible"
      -   locator resolved to <a href="/product/acme-geometric-circles-t-shirt" c…>…</a>
      -   unexpected value "visible"
      -   locator resolved to <a href="/product/acme-geometric-circles-t-shirt" c…>…</a>
      -   unexpected value "visible"
      -   locator resolved to <a href="/product/acme-geometric-circles-t-shirt" c…>…</a>
      -   unexpected value "visible"


      13 |     await expect(homePage.productContainers).toHaveCount(3);
      14 |     for (let productContainer of await homePage.productContainers.all()) {
    > 15 |       await expect(productContainer).not.toBeVisible();
         |                                          ^
      16 |     }
      17 |
      18 |     await expect(homePage.carouselItems).toHaveCount(12);

        at /home/runner/work/playwright-boilerplate/playwright-boilerplate/tests/pages/home.spec.ts:15:42

    attachment #1: video (video/webm) ──────────────────────────────────────────────────────────────
    all-blob-reports/resources/25abd37dbbb31dc6996a2ffce65dbd0bb527e73d.webm
    ────────────────────────────────────────────────────────────────────────────────────────────────

    attachment #2: trace (application/zip) ─────────────────────────────────────────────────────────
    all-blob-reports/resources/6074fff3eab3c79fa7ec57277d37b1b9e391a76d.zip
    Usage:

        npx playwright show-trace all-blob-reports/resources/6074fff3eab3c79fa7ec57277d37b1b9e391a76d.zip

    ────────────────────────────────────────────────────────────────────────────────────────────────

Check failure on line 0 in junit.xml

See this annotation in the file changed.

@github-actions github-actions / Playwright Test Report

pages/home.spec.ts ► home page › nav bar components are visible

Failed test found in:
  junit.xml
Error:
    [chromium] › pages/home.spec.ts:24:7 › home page › nav bar components are visible ────────────────
Raw output
  [chromium] › pages/home.spec.ts:24:7 › home page › nav bar components are visible ────────────────

    Error: Timed out 5000ms waiting for expect(locator).not.toBeVisible()

    Locator: locator('nav').first().getByRole('link', { name: 'Acme Store' })
    Expected: not visible
    Received: visible
    Call log:
      - expect.not.toBeVisible with timeout 5000ms
      - waiting for locator('nav').first().getByRole('link', { name: 'Acme Store' })
      -   locator resolved to <a href="/" class="mr-2 flex w-full items-center ju…>…</a>
      -   unexpected value "visible"
      -   locator resolved to <a href="/" class="mr-2 flex w-full items-center ju…>…</a>
      -   unexpected value "visible"
      -   locator resolved to <a href="/" class="mr-2 flex w-full items-center ju…>…</a>
      -   unexpected value "visible"
      -   locator resolved to <a href="/" class="mr-2 flex w-full items-center ju…>…</a>
      -   unexpected value "visible"
      -   locator resolved to <a href="/" class="mr-2 flex w-full items-center ju…>…</a>
      -   unexpected value "visible"
      -   locator resolved to <a href="/" class="mr-2 flex w-full items-center ju…>…</a>
      -   unexpected value "visible"
      -   locator resolved to <a href="/" class="mr-2 flex w-full items-center ju…>…</a>
      -   unexpected value "visible"
      -   locator resolved to <a href="/" class="mr-2 flex w-full items-center ju…>…</a>
      -   unexpected value "visible"
      -   locator resolved to <a href="/" class="mr-2 flex w-full items-center ju…>…</a>
      -   unexpected value "visible"


      25 |     await expect(homePage.navBar.host).toBeVisible();
      26 |     for (let link of Object.values(homePage.navBar.links)) {
    > 27 |       await expect(link).not.toBeVisible();
         |                              ^
      28 |     }
      29 |     await expect(homePage.navBar.openCartButton).not.toBeVisible();
      30 |     await expect(homePage.navBar.searchInput).toBeVisible();

        at /home/runner/work/playwright-boilerplate/playwright-boilerplate/tests/pages/home.spec.ts:27:30

    attachment #1: video (video/webm) ──────────────────────────────────────────────────────────────
    all-blob-reports/resources/e7fdf3f7db26a09a17a5cf008934cfc9a25b1317.webm
    ────────────────────────────────────────────────────────────────────────────────────────────────

    attachment #2: trace (application/zip) ─────────────────────────────────────────────────────────
    all-blob-reports/resources/5b0f22aef2c857eb055dd922a96ee4ec5ed5ceba.zip
    Usage:

        npx playwright show-trace all-blob-reports/resources/5b0f22aef2c857eb055dd922a96ee4ec5ed5ceba.zip

    ────────────────────────────────────────────────────────────────────────────────────────────────

    Retry #1 ───────────────────────────────────────────────────────────────────────────────────────

    Error: Timed out 5000ms waiting for expect(locator).not.toBeVisible()

    Locator: locator('nav').first().getByRole('link', { name: 'Acme Store' })
    Expected: not visible
    Received: visible
    Call log:
      - expect.not.toBeVisible with timeout 5000ms
      - waiting for locator('nav').first().getByRole('link', { name: 'Acme Store' })
      -   locator resolved to <a href="/" class="mr-2 flex w-full items-center ju…>…</a>
      -   unexpected value "visible"
      -   locator resolved to <a href="/" class="mr-2 flex w-full items-center ju…>…</a>
      -   unexpected value "visible"
      -   locator resolved to <a href="/" class="mr-2 flex w-full items-center ju…>…</a>
      -   unexpected value "visible"
      -   locator resolved to <a href="/" class="mr-2 flex w-full items-center ju…>…</a>
      -   unexpected value "visible"
      -   locator resolved to <a href="/" class="mr-2 flex w-full items-center ju…>…</a>
      -   unexpected value "visible"
      -   locator resolved to <a href="/" class="mr-2 flex w-full items-center ju…>…</a>
      -   unexpected value "visible"
      -   locator resolved to <a href="/" class="mr-2 flex w-full items-center ju…>…</a>
      -   unexpected value "visible"
      -   locator resolved to <a href="/" class="mr-2 flex w-full items-center ju…>…</a>
      -   unexpected value "visible"
      -   locator resolved to <a href="/" class="mr-2 flex w-full items-center ju…>…</a>
      -   unexpected value "visible"


      25 |     await expect(homePage.navBar.host).toBeVisible();
      26 |     for (let link of Object.values(homePage.navBar.links)) {
    > 27 |       await expect(link).not.toBeVisible();
         |                              ^
      28 |     }
      29 |     await expect(homePage.navBar.openCartButton).not.toBeVisible();
      30 |     await expect(homePage.navBar.searchInput).toBeVisible();

        at /home/runner/work/playwright-boilerplate/playwright-boilerplate/tests/pages/home.spec.ts:27:30

    attachment #1: video (video/webm) ──────────────────────────────────────────────────────────────
    all-blob-reports/resources/8bb8aa2f59277ad6ae31ea7214b5433ea9f6f236.webm
    ────────────────────────────────────────────────────────────────────────────────────────────────

    attachment #2: trace (application/zip) ─────────────────────────────────────────────────────────
    all-blob-reports/resources/7d97283744c404c310f63e1efb6638e6f514e90c.zip
    Usage:

        npx playwright show-trace all-blob-reports/resources/7d97283744c404c310f63e1efb6638e6f514e90c.zip

    ────────────────────────────────────────────────────────────────────────────────────────────────

    Retry #2 ───────────────────────────────────────────────────────────────────────────────────────

    Error: Timed out 5000ms waiting for expect(locator).not.toBeVisible()

    Locator: locator('nav').first().getByRole('link', { name: 'Acme Store' })
    Expected: not visible
    Received: visible
    Call log:
      - expect.not.toBeVisible with timeout 5000ms
      - waiting for locator('nav').first().getByRole('link', { name: 'Acme Store' })
      -   locator resolved to <a href="/" class="mr-2 flex w-full items-center ju…>…</a>
      -   unexpected value "visible"
      -   locator resolved to <a href="/" class="mr-2 flex w-full items-center ju…>…</a>
      -   unexpected value "visible"
      -   locator resolved to <a href="/" class="mr-2 flex w-full items-center ju…>…</a>
      -   unexpected value "visible"
      -   locator resolved to <a href="/" class="mr-2 flex w-full items-center ju…>…</a>
      -   unexpected value "visible"
      -   locator resolved to <a href="/" class="mr-2 flex w-full items-center ju…>…</a>
      -   unexpected value "visible"
      -   locator resolved to <a href="/" class="mr-2 flex w-full items-center ju…>…</a>
      -   unexpected value "visible"
      -   locator resolved to <a href="/" class="mr-2 flex w-full items-center ju…>…</a>
      -   unexpected value "visible"
      -   locator resolved to <a href="/" class="mr-2 flex w-full items-center ju…>…</a>
      -   unexpected value "visible"
      -   locator resolved to <a href="/" class="mr-2 flex w-full items-center ju…>…</a>
      -   unexpected value "visible"


      25 |     await expect(homePage.navBar.host).toBeVisible();
      26 |     for (let link of Object.values(homePage.navBar.links)) {
    > 27 |       await expect(link).not.toBeVisible();
         |                              ^
      28 |     }
      29 |     await expect(homePage.navBar.openCartButton).not.toBeVisible();
      30 |     await expect(homePage.navBar.searchInput).toBeVisible();

        at /home/runner/work/playwright-boilerplate/playwright-boilerplate/tests/pages/home.spec.ts:27:30

    attachment #1: video (video/webm) ──────────────────────────────────────────────────────────────
    all-blob-reports/resources/368877b388697a8414cd2024063001f24c0213a9.webm
    ────────────────────────────────────────────────────────────────────────────────────────────────

    attachment #2: trace (application/zip) ─────────────────────────────────────────────────────────
    all-blob-reports/resources/4fb4d7feac8fef457323565d21ddd91f6fb0078e.zip
    Usage:

        npx playwright show-trace all-blob-reports/resources/4fb4d7feac8fef457323565d21ddd91f6fb0078e.zip

    ────────────────────────────────────────────────────────────────────────────────────────────────

Check failure on line 0 in junit.xml

See this annotation in the file changed.

@github-actions github-actions / Playwright Test Report

pages/home.spec.ts ► home page › footer components are visible

Failed test found in:
  junit.xml
Error:
    [chromium] › pages/home.spec.ts:33:7 › home page › footer components are visible ─────────────────
Raw output
  [chromium] › pages/home.spec.ts:33:7 › home page › footer components are visible ─────────────────

    Error: Timed out 5000ms waiting for expect(locator).not.toBeVisible()

    Locator: locator('footer').getByRole('link', { name: 'Home' })
    Expected: not visible
    Received: visible
    Call log:
      - expect.not.toBeVisible with timeout 5000ms
      - waiting for locator('footer').getByRole('link', { name: 'Home' })
      -   locator resolved to <a href="/" class="block p-2 text-lg underline-offs…>Home</a>
      -   unexpected value "visible"
      -   locator resolved to <a href="/" class="block p-2 text-lg underline-offs…>Home</a>
      -   unexpected value "visible"
      -   locator resolved to <a href="/" class="block p-2 text-lg underline-offs…>Home</a>
      -   unexpected value "visible"
      -   locator resolved to <a href="/" class="block p-2 text-lg underline-offs…>Home</a>
      -   unexpected value "visible"
      -   locator resolved to <a href="/" class="block p-2 text-lg underline-offs…>Home</a>
      -   unexpected value "visible"
      -   locator resolved to <a href="/" class="block p-2 text-lg underline-offs…>Home</a>
      -   unexpected value "visible"
      -   locator resolved to <a href="/" class="block p-2 text-lg underline-offs…>Home</a>
      -   unexpected value "visible"
      -   locator resolved to <a href="/" class="block p-2 text-lg underline-offs…>Home</a>
      -   unexpected value "visible"
      -   locator resolved to <a href="/" class="block p-2 text-lg underline-offs…>Home</a>
      -   unexpected value "visible"


      34 |     await expect(homePage.footer.host).toBeVisible();
      35 |     for (let link of Object.values(homePage.footer.links)) {
    > 36 |       await expect(link).not.toBeVisible();
         |                              ^
      37 |     }
      38 |   });
      39 |

        at /home/runner/work/playwright-boilerplate/playwright-boilerplate/tests/pages/home.spec.ts:36:30

    attachment #1: video (video/webm) ──────────────────────────────────────────────────────────────
    all-blob-reports/resources/d12502d7c61ede9fe1b77803beb397b617a3662d.webm
    ────────────────────────────────────────────────────────────────────────────────────────────────

    attachment #2: trace (application/zip) ─────────────────────────────────────────────────────────
    all-blob-reports/resources/740f6e564f100ba182e6d4abdcca43776ac6b5f0.zip
    Usage:

        npx playwright show-trace all-blob-reports/resources/740f6e564f100ba182e6d4abdcca43776ac6b5f0.zip

    ────────────────────────────────────────────────────────────────────────────────────────────────

    Retry #1 ───────────────────────────────────────────────────────────────────────────────────────

    Error: Timed out 5000ms waiting for expect(locator).not.toBeVisible()

    Locator: locator('footer').getByRole('link', { name: 'Home' })
    Expected: not visible
    Received: visible
    Call log:
      - expect.not.toBeVisible with timeout 5000ms
      - waiting for locator('footer').getByRole('link', { name: 'Home' })
      -   locator resolved to <a href="/" class="block p-2 text-lg underline-offs…>Home</a>
      -   unexpected value "visible"
      -   locator resolved to <a href="/" class="block p-2 text-lg underline-offs…>Home</a>
      -   unexpected value "visible"
      -   locator resolved to <a href="/" class="block p-2 text-lg underline-offs…>Home</a>
      -   unexpected value "visible"
      -   locator resolved to <a href="/" class="block p-2 text-lg underline-offs…>Home</a>
      -   unexpected value "visible"
      -   locator resolved to <a href="/" class="block p-2 text-lg underline-offs…>Home</a>
      -   unexpected value "visible"
      -   locator resolved to <a href="/" class="block p-2 text-lg underline-offs…>Home</a>
      -   unexpected value "visible"
      -   locator resolved to <a href="/" class="block p-2 text-lg underline-offs…>Home</a>
      -   unexpected value "visible"
      -   locator resolved to <a href="/" class="block p-2 text-lg underline-offs…>Home</a>
      -   unexpected value "visible"
      -   locator resolved to <a href="/" class="block p-2 text-lg underline-offs…>Home</a>
      -   unexpected value "visible"


      34 |     await expect(homePage.footer.host).toBeVisible();
      35 |     for (let link of Object.values(homePage.footer.links)) {
    > 36 |       await expect(link).not.toBeVisible();
         |                              ^
      37 |     }
      38 |   });
      39 |

        at /home/runner/work/playwright-boilerplate/playwright-boilerplate/tests/pages/home.spec.ts:36:30

    attachment #1: video (video/webm) ──────────────────────────────────────────────────────────────
    all-blob-reports/resources/c30ca243530237ad9c7650429b805ea5f3a4755b.webm
    ────────────────────────────────────────────────────────────────────────────────────────────────

    attachment #2: trace (application/zip) ─────────────────────────────────────────────────────────
    all-blob-reports/resources/3525bb71a2f78c7ec90084a99426aca588b7372a.zip
    Usage:

        npx playwright show-trace all-blob-reports/resources/3525bb71a2f78c7ec90084a99426aca588b7372a.zip

    ────────────────────────────────────────────────────────────────────────────────────────────────

    Retry #2 ───────────────────────────────────────────────────────────────────────────────────────

    Error: Timed out 5000ms waiting for expect(locator).not.toBeVisible()

    Locator: locator('footer').getByRole('link', { name: 'Home' })
    Expected: not visible
    Received: visible
    Call log:
      - expect.not.toBeVisible with timeout 5000ms
      - waiting for locator('footer').getByRole('link', { name: 'Home' })
      -   locator resolved to <a href="/" class="block p-2 text-lg underline-offs…>Home</a>
      -   unexpected value "visible"
      -   locator resolved to <a href="/" class="block p-2 text-lg underline-offs…>Home</a>
      -   unexpected value "visible"
      -   locator resolved to <a href="/" class="block p-2 text-lg underline-offs…>Home</a>
      -   unexpected value "visible"
      -   locator resolved to <a href="/" class="block p-2 text-lg underline-offs…>Home</a>
      -   unexpected value "visible"
      -   locator resolved to <a href="/" class="block p-2 text-lg underline-offs…>Home</a>
      -   unexpected value "visible"
      -   locator resolved to <a href="/" class="block p-2 text-lg underline-offs…>Home</a>
      -   unexpected value "visible"
      -   locator resolved to <a href="/" class="block p-2 text-lg underline-offs…>Home</a>
      -   unexpected value "visible"
      -   locator resolved to <a href="/" class="block p-2 text-lg underline-offs…>Home</a>
      -   unexpected value "visible"
      -   locator resolved to <a href="/" class="block p-2 text-lg underline-offs…>Home</a>
      -   unexpected value "visible"


      34 |     await expect(homePage.footer.host).toBeVisible();
      35 |     for (let link of Object.values(homePage.footer.links)) {
    > 36 |       await expect(link).not.toBeVisible();
         |                              ^
      37 |     }
      38 |   });
      39 |

        at /home/runner/work/playwright-boilerplate/playwright-boilerplate/tests/pages/home.spec.ts:36:30

    attachment #1: video (video/webm) ──────────────────────────────────────────────────────────────
    all-blob-reports/resources/5e0c6053f8a9e0ad5e068c6ac0f3a72759e1c8f0.webm
    ────────────────────────────────────────────────────────────────────────────────────────────────

    attachment #2: trace (application/zip) ─────────────────────────────────────────────────────────
    all-blob-reports/resources/54d8bc4e425ef5c7411e87ed89684965c707e8ee.zip
    Usage:

        npx playwright show-trace all-blob-reports/resources/54d8bc4e425ef5c7411e87ed89684965c707e8ee.zip

    ────────────────────────────────────────────────────────────────────────────────────────────────

Check failure on line 0 in junit.xml

See this annotation in the file changed.

@github-actions github-actions / Playwright Test Report

pages/home.spec.ts ► home page › has no broken links

Failed test found in:
  junit.xml
Error:
    [chromium] › pages/home.spec.ts:40:7 › home page › has no broken links ───────────────────────────
Raw output
  [chromium] › pages/home.spec.ts:40:7 › home page › has no broken links ───────────────────────────

    Error: expect(received).toBe(expected) // Object.is equality

    Expected: 372
    Received: 200

      44 |       if (href) {
      45 |         const response = await homePage.page.request.get(href);
    > 46 |         expect(response?.status()).toBe(372);
         |                                    ^
      47 |       }
      48 |     }
      49 |   });

        at /home/runner/work/playwright-boilerplate/playwright-boilerplate/tests/pages/home.spec.ts:46:36

    attachment #1: video (video/webm) ──────────────────────────────────────────────────────────────
    all-blob-reports/resources/24cd8d64b849fd59eb899488364995ed51e2d221.webm
    ────────────────────────────────────────────────────────────────────────────────────────────────

    attachment #2: trace (application/zip) ─────────────────────────────────────────────────────────
    all-blob-reports/resources/b9e56eaddbcf75657b348988a1ca907199dcc11a.zip
    Usage:

        npx playwright show-trace all-blob-reports/resources/b9e56eaddbcf75657b348988a1ca907199dcc11a.zip

    ────────────────────────────────────────────────────────────────────────────────────────────────

    Retry #1 ───────────────────────────────────────────────────────────────────────────────────────

    Error: expect(received).toBe(expected) // Object.is equality

    Expected: 372
    Received: 200

      44 |       if (href) {
      45 |         const response = await homePage.page.request.get(href);
    > 46 |         expect(response?.status()).toBe(372);
         |                                    ^
      47 |       }
      48 |     }
      49 |   });

        at /home/runner/work/playwright-boilerplate/playwright-boilerplate/tests/pages/home.spec.ts:46:36

    attachment #1: video (video/webm) ──────────────────────────────────────────────────────────────
    all-blob-reports/resources/1293e2260dd7c9f14cb0a87e31871a43a0e0e2db.webm
    ────────────────────────────────────────────────────────────────────────────────────────────────

    attachment #2: trace (application/zip) ─────────────────────────────────────────────────────────
    all-blob-reports/resources/c800db4e73dff04052574c371c52f0e39cd1f97f.zip
    Usage:

        npx playwright show-trace all-blob-reports/resources/c800db4e73dff04052574c371c52f0e39cd1f97f.zip

    ────────────────────────────────────────────────────────────────────────────────────────────────

    Retry #2 ───────────────────────────────────────────────────────────────────────────────────────

    Error: expect(received).toBe(expected) // Object.is equality

    Expected: 372
    Received: 200

      44 |       if (href) {
      45 |         const response = await homePage.page.request.get(href);
    > 46 |         expect(response?.status()).toBe(372);
         |                                    ^
      47 |       }
      48 |     }
      49 |   });

        at /home/runner/work/playwright-boilerplate/playwright-boilerplate/tests/pages/home.spec.ts:46:36

    attachment #1: video (video/webm) ──────────────────────────────────────────────────────────────
    all-blob-reports/resources/4d436b2fb6198e2b49e632ce19c90ad085bfca5c.webm
    ────────────────────────────────────────────────────────────────────────────────────────────────

    attachment #2: trace (application/zip) ─────────────────────────────────────────────────────────
    all-blob-reports/resources/9a01a734315b08abcefb8a0c9b116e627a3fa985.zip
    Usage:

        npx playwright show-trace all-blob-reports/resources/9a01a734315b08abcefb8a0c9b116e627a3fa985.zip

    ────────────────────────────────────────────────────────────────────────────────────────────────

Check failure on line 0 in junit.xml

See this annotation in the file changed.

@github-actions github-actions / Playwright Test Report

pages/home.spec.ts ► home page › title is correct

Failed test found in:
  junit.xml
Error:
    [firefox] › pages/home.spec.ts:8:7 › home page › title is correct ────────────────────────────────
Raw output
  [firefox] › pages/home.spec.ts:8:7 › home page › title is correct ────────────────────────────────

    Error: Timed out 5000ms waiting for expect(locator).toHaveTitle(expected)

    Locator: locator(':root')
    Expected string: "Acme Store!!!"
    Received string: "Acme Store"
    Call log:
      - expect.toHaveTitle with timeout 5000ms
      - waiting for locator(':root')
      -   locator resolved to <html lang="en" class="__variable_914793">…</html>
      -   unexpected value "Acme Store"
      -   locator resolved to <html lang="en" class="__variable_914793">…</html>
      -   unexpected value "Acme Store"
      -   locator resolved to <html lang="en" class="__variable_914793">…</html>
      -   unexpected value "Acme Store"
      -   locator resolved to <html lang="en" class="__variable_914793">…</html>
      -   unexpected value "Acme Store"
      -   locator resolved to <html lang="en" class="__variable_914793">…</html>
      -   unexpected value "Acme Store"
      -   locator resolved to <html lang="en" class="__variable_914793">…</html>
      -   unexpected value "Acme Store"
      -   locator resolved to <html lang="en" class="__variable_914793">…</html>
      -   unexpected value "Acme Store"
      -   locator resolved to <html lang="en" class="__variable_914793">…</html>
      -   unexpected value "Acme Store"
      -   locator resolved to <html lang="en" class="__variable_914793">…</html>
      -   unexpected value "Acme Store"


       7 |
       8 |   test("title is correct", async ({ homePage }) => {
    >  9 |     await expect(homePage.page).toHaveTitle("Acme Store!!!");
         |                                 ^
      10 |   });
      11 |
      12 |   test("product cards are visible", async ({ homePage }) => {

        at /home/runner/work/playwright-boilerplate/playwright-boilerplate/tests/pages/home.spec.ts:9:33

    attachment #1: video (video/webm) ──────────────────────────────────────────────────────────────
    all-blob-reports/resources/c502c8bdaef81de5dbe79a3de040e047442d59ad.webm
    ────────────────────────────────────────────────────────────────────────────────────────────────

    attachment #2: trace (application/zip) ─────────────────────────────────────────────────────────
    all-blob-reports/resources/0cd8d5fa8d3f453723c3da72d7f319280e51e001.zip
    Usage:

        npx playwright show-trace all-blob-reports/resources/0cd8d5fa8d3f453723c3da72d7f319280e51e001.zip

    ────────────────────────────────────────────────────────────────────────────────────────────────

    Retry #1 ───────────────────────────────────────────────────────────────────────────────────────

    Error: Timed out 5000ms waiting for expect(locator).toHaveTitle(expected)

    Locator: locator(':root')
    Expected string: "Acme Store!!!"
    Received string: "Acme Store"
    Call log:
      - expect.toHaveTitle with timeout 5000ms
      - waiting for locator(':root')
      -   locator resolved to <html lang="en" class="__variable_914793">…</html>
      -   unexpected value "Acme Store"
      -   locator resolved to <html lang="en" class="__variable_914793">…</html>
      -   unexpected value "Acme Store"
      -   locator resolved to <html lang="en" class="__variable_914793">…</html>
      -   unexpected value "Acme Store"
      -   locator resolved to <html lang="en" class="__variable_914793">…</html>
      -   unexpected value "Acme Store"
      -   locator resolved to <html lang="en" class="__variable_914793">…</html>
      -   unexpected value "Acme Store"
      -   locator resolved to <html lang="en" class="__variable_914793">…</html>
      -   unexpected value "Acme Store"
      -   locator resolved to <html lang="en" class="__variable_914793">…</html>
      -   unexpected value "Acme Store"
      -   locator resolved to <html lang="en" class="__variable_914793">…</html>
      -   unexpected value "Acme Store"
      -   locator resolved to <html lang="en" class="__variable_914793">…</html>
      -   unexpected value "Acme Store"


       7 |
       8 |   test("title is correct", async ({ homePage }) => {
    >  9 |     await expect(homePage.page).toHaveTitle("Acme Store!!!");
         |                                 ^
      10 |   });
      11 |
      12 |   test("product cards are visible", async ({ homePage }) => {

        at /home/runner/work/playwright-boilerplate/playwright-boilerplate/tests/pages/home.spec.ts:9:33

    attachment #1: video (video/webm) ──────────────────────────────────────────────────────────────
    all-blob-reports/resources/b1fa2a55ff6d48d888e77f01d9656768b8369f61.webm
    ────────────────────────────────────────────────────────────────────────────────────────────────

    attachment #2: trace (application/zip) ─────────────────────────────────────────────────────────
    all-blob-reports/resources/d8c777ef61b3cb24d09d2467cf15657593e37163.zip
    Usage:

        npx playwright show-trace all-blob-reports/resources/d8c777ef61b3cb24d09d2467cf15657593e37163.zip

    ────────────────────────────────────────────────────────────────────────────────────────────────

    Retry #2 ───────────────────────────────────────────────────────────────────────────────────────

    Error: Timed out 5000ms waiting for expect(locator).toHaveTitle(expected)

    Locator: locator(':root')
    Expected string: "Acme Store!!!"
    Received string: "Acme Store"
    Call log:
      - expect.toHaveTitle with timeout 5000ms
      - waiting for locator(':root')
      -   locator resolved to <html lang="en" class="__variable_914793">…</html>
      -   unexpected value "Acme Store"
      -   locator resolved to <html lang="en" class="__variable_914793">…</html>
      -   unexpected value "Acme Store"
      -   locator resolved to <html lang="en" class="__variable_914793">…</html>
      -   unexpected value "Acme Store"
      -   locator resolved to <html lang="en" class="__variable_914793">…</html>
      -   unexpected value "Acme Store"
      -   locator resolved to <html lang="en" class="__variable_914793">…</html>
      -   unexpected value "Acme Store"
      -   locator resolved to <html lang="en" class="__variable_914793">…</html>
      -   unexpected value "Acme Store"
      -   locator resolved to <html lang="en" class="__variable_914793">…</html>
      -   unexpected value "Acme Store"
      -   locator resolved to <html lang="en" class="__variable_914793">…</html>
      -   unexpected value "Acme Store"
      -   locator resolved to <html lang="en" class="__variable_914793">…</html>
      -   unexpected value "Acme Store"


       7 |
       8 |   test("title is correct", async ({ homePage }) => {
    >  9 |     await expect(homePage.page).toHaveTitle("Acme Store!!!");
         |                                 ^
      10 |   });
      11 |
      12 |   test("product cards are visible", async ({ homePage }) => {

        at /home/runner/work/playwright-boilerplate/playwright-boilerplate/tests/pages/home.spec.ts:9:33

    attachment #1: video (video/webm) ──────────────────────────────────────────────────────────────
    all-blob-reports/resources/7b8d602a38408b536b641d3223528fda0b628ad0.webm
    ────────────────────────────────────────────────────────────────────────────────────────────────

    attachment #2: trace (application/zip) ─────────────────────────────────────────────────────────
    all-blob-reports/resources/97d4e5c7ab35c53d03071f1cea21036b94767e0d.zip
    Usage:

        npx playwright show-trace all-blob-reports/resources/97d4e5c7ab35c53d03071f1cea21036b94767e0d.zip

    ────────────────────────────────────────────────────────────────────────────────────────────────

Check failure on line 0 in junit.xml

See this annotation in the file changed.

@github-actions github-actions / Playwright Test Report

pages/home.spec.ts ► home page › product cards are visible

Failed test found in:
  junit.xml
Error:
    [firefox] › pages/home.spec.ts:12:7 › home page › product cards are visible ──────────────────────
Raw output
  [firefox] › pages/home.spec.ts:12:7 › home page › product cards are visible ──────────────────────

    Error: Timed out 5000ms waiting for expect(locator).not.toBeVisible()

    Locator: locator('.grid').getByRole('link').first()
    Expected: not visible
    Received: visible
    Call log:
      - expect.not.toBeVisible with timeout 5000ms
      - waiting for locator('.grid').getByRole('link').first()
      -   locator resolved to <a href="/product/acme-geometric-circles-t-shirt" c…>…</a>
      -   unexpected value "visible"
      -   locator resolved to <a href="/product/acme-geometric-circles-t-shirt" c…>…</a>
      -   unexpected value "visible"
      -   locator resolved to <a href="/product/acme-geometric-circles-t-shirt" c…>…</a>
      -   unexpected value "visible"
      -   locator resolved to <a href="/product/acme-geometric-circles-t-shirt" c…>…</a>
      -   unexpected value "visible"
      -   locator resolved to <a href="/product/acme-geometric-circles-t-shirt" c…>…</a>
      -   unexpected value "visible"
      -   locator resolved to <a href="/product/acme-geometric-circles-t-shirt" c…>…</a>
      -   unexpected value "visible"
      -   locator resolved to <a href="/product/acme-geometric-circles-t-shirt" c…>…</a>
      -   unexpected value "visible"
      -   locator resolved to <a href="/product/acme-geometric-circles-t-shirt" c…>…</a>
      -   unexpected value "visible"
      -   locator resolved to <a href="/product/acme-geometric-circles-t-shirt" c…>…</a>
      -   unexpected value "visible"


      13 |     await expect(homePage.productContainers).toHaveCount(3);
      14 |     for (let productContainer of await homePage.productContainers.all()) {
    > 15 |       await expect(productContainer).not.toBeVisible();
         |                                          ^
      16 |     }
      17 |
      18 |     await expect(homePage.carouselItems).toHaveCount(12);

        at /home/runner/work/playwright-boilerplate/playwright-boilerplate/tests/pages/home.spec.ts:15:42

    attachment #1: video (video/webm) ──────────────────────────────────────────────────────────────
    all-blob-reports/resources/a862491c8a2bf32fa2cbe2bfc163679c5cb00e24.webm
    ────────────────────────────────────────────────────────────────────────────────────────────────

    attachment #2: trace (application/zip) ─────────────────────────────────────────────────────────
    all-blob-reports/resources/f1c94f61f95e9350c2480552fa3cc672da761806.zip
    Usage:

        npx playwright show-trace all-blob-reports/resources/f1c94f61f95e9350c2480552fa3cc672da761806.zip

    ────────────────────────────────────────────────────────────────────────────────────────────────

    Retry #1 ───────────────────────────────────────────────────────────────────────────────────────

    Error: Timed out 5000ms waiting for expect(locator).not.toBeVisible()

    Locator: locator('.grid').getByRole('link').first()
    Expected: not visible
    Received: visible
    Call log:
      - expect.not.toBeVisible with timeout 5000ms
      - waiting for locator('.grid').getByRole('link').first()
      -   locator resolved to <a href="/product/acme-geometric-circles-t-shirt" c…>…</a>
      -   unexpected value "visible"
      -   locator resolved to <a href="/product/acme-geometric-circles-t-shirt" c…>…</a>
      -   unexpected value "visible"
      -   locator resolved to <a href="/product/acme-geometric-circles-t-shirt" c…>…</a>
      -   unexpected value "visible"
      -   locator resolved to <a href="/product/acme-geometric-circles-t-shirt" c…>…</a>
      -   unexpected value "visible"
      -   locator resolved to <a href="/product/acme-geometric-circles-t-shirt" c…>…</a>
      -   unexpected value "visible"
      -   locator resolved to <a href="/product/acme-geometric-circles-t-shirt" c…>…</a>
      -   unexpected value "visible"
      -   locator resolved to <a href="/product/acme-geometric-circles-t-shirt" c…>…</a>
      -   unexpected value "visible"
      -   locator resolved to <a href="/product/acme-geometric-circles-t-shirt" c…>…</a>
      -   unexpected value "visible"
      -   locator resolved to <a href="/product/acme-geometric-circles-t-shirt" c…>…</a>
      -   unexpected value "visible"


      13 |     await expect(homePage.productContainers).toHaveCount(3);
      14 |     for (let productContainer of await homePage.productContainers.all()) {
    > 15 |       await expect(productContainer).not.toBeVisible();
         |                                          ^
      16 |     }
      17 |
      18 |     await expect(homePage.carouselItems).toHaveCount(12);

        at /home/runner/work/playwright-boilerplate/playwright-boilerplate/tests/pages/home.spec.ts:15:42

    attachment #1: video (video/webm) ──────────────────────────────────────────────────────────────
    all-blob-reports/resources/d53290345f21e7e52aff765a5cde59ec2a4a5ff6.webm
    ────────────────────────────────────────────────────────────────────────────────────────────────

    attachment #2: trace (application/zip) ─────────────────────────────────────────────────────────
    all-blob-reports/resources/75fc45cedaaa3613e115c075775c63a8bc1014a9.zip
    Usage:

        npx playwright show-trace all-blob-reports/resources/75fc45cedaaa3613e115c075775c63a8bc1014a9.zip

    ────────────────────────────────────────────────────────────────────────────────────────────────

    Retry #2 ───────────────────────────────────────────────────────────────────────────────────────

    Error: Timed out 5000ms waiting for expect(locator).not.toBeVisible()

    Locator: locator('.grid').getByRole('link').first()
    Expected: not visible
    Received: visible
    Call log:
      - expect.not.toBeVisible with timeout 5000ms
      - waiting for locator('.grid').getByRole('link').first()
      -   locator resolved to <a href="/product/acme-geometric-circles-t-shirt" c…>…</a>
      -   unexpected value "visible"
      -   locator resolved to <a href="/product/acme-geometric-circles-t-shirt" c…>…</a>
      -   unexpected value "visible"
      -   locator resolved to <a href="/product/acme-geometric-circles-t-shirt" c…>…</a>
      -   unexpected value "visible"
      -   locator resolved to <a href="/product/acme-geometric-circles-t-shirt" c…>…</a>
      -   unexpected value "visible"
      -   locator resolved to <a href="/product/acme-geometric-circles-t-shirt" c…>…</a>
      -   unexpected value "visible"
      -   locator resolved to <a href="/product/acme-geometric-circles-t-shirt" c…>…</a>
      -   unexpected value "visible"
      -   locator resolved to <a href="/product/acme-geometric-circles-t-shirt" c…>…</a>
      -   unexpected value "visible"
      -   locator resolved to <a href="/product/acme-geometric-circles-t-shirt" c…>…</a>
      -   unexpected value "visible"
      -   locator resolved to <a href="/product/acme-geometric-circles-t-shirt" c…>…</a>
      -   unexpected value "visible"


      13 |     await expect(homePage.productContainers).toHaveCount(3);
      14 |     for (let productContainer of await homePage.productContainers.all()) {
    > 15 |       await expect(productContainer).not.toBeVisible();
         |                                          ^
      16 |     }
      17 |
      18 |     await expect(homePage.carouselItems).toHaveCount(12);

        at /home/runner/work/playwright-boilerplate/playwright-boilerplate/tests/pages/home.spec.ts:15:42

    attachment #1: video (video/webm) ──────────────────────────────────────────────────────────────
    all-blob-reports/resources/cc9498dc3e948845af17c0bc5a6d7386908834aa.webm
    ────────────────────────────────────────────────────────────────────────────────────────────────

    attachment #2: trace (application/zip) ─────────────────────────────────────────────────────────
    all-blob-reports/resources/f11abfc04ff563abec15fbb1f95d9c66f1d6f1b3.zip
    Usage:

        npx playwright show-trace all-blob-reports/resources/f11abfc04ff563abec15fbb1f95d9c66f1d6f1b3.zip

    ────────────────────────────────────────────────────────────────────────────────────────────────

Check failure on line 0 in junit.xml

See this annotation in the file changed.

@github-actions github-actions / Playwright Test Report

pages/home.spec.ts ► home page › nav bar components are visible

Failed test found in:
  junit.xml
Error:
    [firefox] › pages/home.spec.ts:24:7 › home page › nav bar components are visible ─────────────────
Raw output
  [firefox] › pages/home.spec.ts:24:7 › home page › nav bar components are visible ─────────────────

    Error: Timed out 5000ms waiting for expect(locator).not.toBeVisible()

    Locator: locator('nav').first().getByRole('link', { name: 'Acme Store' })
    Expected: not visible
    Received: visible
    Call log:
      - expect.not.toBeVisible with timeout 5000ms
      - waiting for locator('nav').first().getByRole('link', { name: 'Acme Store' })
      -   locator resolved to <a href="/" class="mr-2 flex w-full items-center ju…>…</a>
      -   unexpected value "visible"
      -   locator resolved to <a href="/" class="mr-2 flex w-full items-center ju…>…</a>
      -   unexpected value "visible"
      -   locator resolved to <a href="/" class="mr-2 flex w-full items-center ju…>…</a>
      -   unexpected value "visible"
      -   locator resolved to <a href="/" class="mr-2 flex w-full items-center ju…>…</a>
      -   unexpected value "visible"
      -   locator resolved to <a href="/" class="mr-2 flex w-full items-center ju…>…</a>
      -   unexpected value "visible"
      -   locator resolved to <a href="/" class="mr-2 flex w-full items-center ju…>…</a>
      -   unexpected value "visible"
      -   locator resolved to <a href="/" class="mr-2 flex w-full items-center ju…>…</a>
      -   unexpected value "visible"
      -   locator resolved to <a href="/" class="mr-2 flex w-full items-center ju…>…</a>
      -   unexpected value "visible"
      -   locator resolved to <a href="/" class="mr-2 flex w-full items-center ju…>…</a>
      -   unexpected value "visible"


      25 |     await expect(homePage.navBar.host).toBeVisible();
      26 |     for (let link of Object.values(homePage.navBar.links)) {
    > 27 |       await expect(link).not.toBeVisible();
         |                              ^
      28 |     }
      29 |     await expect(homePage.navBar.openCartButton).not.toBeVisible();
      30 |     await expect(homePage.navBar.searchInput).toBeVisible();

        at /home/runner/work/playwright-boilerplate/playwright-boilerplate/tests/pages/home.spec.ts:27:30

    attachment #1: video (video/webm) ──────────────────────────────────────────────────────────────
    all-blob-reports/resources/fdaf6981832a399b52737507889dedae9c7998b8.webm
    ────────────────────────────────────────────────────────────────────────────────────────────────

    attachment #2: trace (application/zip) ─────────────────────────────────────────────────────────
    all-blob-reports/resources/9bf61770941cd7b9e5d04f082e68e908e4dc5c24.zip
    Usage:

        npx playwright show-trace all-blob-reports/resources/9bf61770941cd7b9e5d04f082e68e908e4dc5c24.zip

    ────────────────────────────────────────────────────────────────────────────────────────────────

    Retry #1 ───────────────────────────────────────────────────────────────────────────────────────

    Error: Timed out 5000ms waiting for expect(locator).not.toBeVisible()

    Locator: locator('nav').first().getByRole('link', { name: 'Acme Store' })
    Expected: not visible
    Received: visible
    Call log:
      - expect.not.toBeVisible with timeout 5000ms
      - waiting for locator('nav').first().getByRole('link', { name: 'Acme Store' })
      -   locator resolved to <a href="/" class="mr-2 flex w-full items-center ju…>…</a>
      -   unexpected value "visible"
      -   locator resolved to <a href="/" class="mr-2 flex w-full items-center ju…>…</a>
      -   unexpected value "visible"
      -   locator resolved to <a href="/" class="mr-2 flex w-full items-center ju…>…</a>
      -   unexpected value "visible"
      -   locator resolved to <a href="/" class="mr-2 flex w-full items-center ju…>…</a>
      -   unexpected value "visible"
      -   locator resolved to <a href="/" class="mr-2 flex w-full items-center ju…>…</a>
      -   unexpected value "visible"
      -   locator resolved to <a href="/" class="mr-2 flex w-full items-center ju…>…</a>
      -   unexpected value "visible"
      -   locator resolved to <a href="/" class="mr-2 flex w-full items-center ju…>…</a>
      -   unexpected value "visible"
      -   locator resolved to <a href="/" class="mr-2 flex w-full items-center ju…>…</a>
      -   unexpected value "visible"
      -   locator resolved to <a href="/" class="mr-2 flex w-full items-center ju…>…</a>
      -   unexpected value "visible"


      25 |     await expect(homePage.navBar.host).toBeVisible();
      26 |     for (let link of Object.values(homePage.navBar.links)) {
    > 27 |       await expect(link).not.toBeVisible();
         |                              ^
      28 |     }
      29 |     await expect(homePage.navBar.openCartButton).not.toBeVisible();
      30 |     await expect(homePage.navBar.searchInput).toBeVisible();

        at /home/runner/work/playwright-boilerplate/playwright-boilerplate/tests/pages/home.spec.ts:27:30

    attachment #1: video (video/webm) ──────────────────────────────────────────────────────────────
    all-blob-reports/resources/aad41327197b8e30f420b507911655b009e69b02.webm
    ────────────────────────────────────────────────────────────────────────────────────────────────

    attachment #2: trace (application/zip) ─────────────────────────────────────────────────────────
    all-blob-reports/resources/7b4fd6b838948f478810a31646f9eeab086eaced.zip
    Usage:

        npx playwright show-trace all-blob-reports/resources/7b4fd6b838948f478810a31646f9eeab086eaced.zip

    ────────────────────────────────────────────────────────────────────────────────────────────────

    Retry #2 ───────────────────────────────────────────────────────────────────────────────────────

    Error: Timed out 5000ms waiting for expect(locator).not.toBeVisible()

    Locator: locator('nav').first().getByRole('link', { name: 'Acme Store' })
    Expected: not visible
    Received: visible
    Call log:
      - expect.not.toBeVisible with timeout 5000ms
      - waiting for locator('nav').first().getByRole('link', { name: 'Acme Store' })
      -   locator resolved to <a href="/" class="mr-2 flex w-full items-center ju…>…</a>
      -   unexpected value "visible"
      -   locator resolved to <a href="/" class="mr-2 flex w-full items-center ju…>…</a>
      -   unexpected value "visible"
      -   locator resolved to <a href="/" class="mr-2 flex w-full items-center ju…>…</a>
      -   unexpected value "visible"
      -   locator resolved to <a href="/" class="mr-2 flex w-full items-center ju…>…</a>
      -   unexpected value "visible"
      -   locator resolved to <a href="/" class="mr-2 flex w-full items-center ju…>…</a>
      -   unexpected value "visible"
      -   locator resolved to <a href="/" class="mr-2 flex w-full items-center ju…>…</a>
      -   unexpected value "visible"
      -   locator resolved to <a href="/" class="mr-2 flex w-full items-center ju…>…</a>
      -   unexpected value "visible"
      -   locator resolved to <a href="/" class="mr-2 flex w-full items-center ju…>…</a>
      -   unexpected value "visible"
      -   locator resolved to <a href="/" class="mr-2 flex w-full items-center ju…>…</a>
      -   unexpected value "visible"


      25 |     await expect(homePage.navBar.host).toBeVisible();
      26 |     for (let link of Object.values(homePage.navBar.links)) {
    > 27 |       await expect(link).not.toBeVisible();
         |                              ^
      28 |     }
      29 |     await expect(homePage.navBar.openCartButton).not.toBeVisible();
      30 |     await expect(homePage.navBar.searchInput).toBeVisible();

        at /home/runner/work/playwright-boilerplate/playwright-boilerplate/tests/pages/home.spec.ts:27:30

    attachment #1: video (video/webm) ──────────────────────────────────────────────────────────────
    all-blob-reports/resources/495f3fc79ee27abc6e56e47b34ac23f44b94ed4d.webm
    ────────────────────────────────────────────────────────────────────────────────────────────────

    attachment #2: trace (application/zip) ─────────────────────────────────────────────────────────
    all-blob-reports/resources/07f9ca7eb9f4c158a2ee5f22adab97b3511b9618.zip
    Usage:

        npx playwright show-trace all-blob-reports/resources/07f9ca7eb9f4c158a2ee5f22adab97b3511b9618.zip

    ────────────────────────────────────────────────────────────────────────────────────────────────

Check failure on line 0 in junit.xml

See this annotation in the file changed.

@github-actions github-actions / Playwright Test Report

pages/home.spec.ts ► home page › footer components are visible

Failed test found in:
  junit.xml
Error:
    [firefox] › pages/home.spec.ts:33:7 › home page › footer components are visible ──────────────────
Raw output
  [firefox] › pages/home.spec.ts:33:7 › home page › footer components are visible ──────────────────

    Error: Timed out 5000ms waiting for expect(locator).not.toBeVisible()

    Locator: locator('footer').getByRole('link', { name: 'Home' })
    Expected: not visible
    Received: visible
    Call log:
      - expect.not.toBeVisible with timeout 5000ms
      - waiting for locator('footer').getByRole('link', { name: 'Home' })
      -   locator resolved to <a href="/" class="block p-2 text-lg underline-offs…>Home</a>
      -   unexpected value "visible"
      -   locator resolved to <a href="/" class="block p-2 text-lg underline-offs…>Home</a>
      -   unexpected value "visible"
      -   locator resolved to <a href="/" class="block p-2 text-lg underline-offs…>Home</a>
      -   unexpected value "visible"
      -   locator resolved to <a href="/" class="block p-2 text-lg underline-offs…>Home</a>
      -   unexpected value "visible"
      -   locator resolved to <a href="/" class="block p-2 text-lg underline-offs…>Home</a>
      -   unexpected value "visible"
      -   locator resolved to <a href="/" class="block p-2 text-lg underline-offs…>Home</a>
      -   unexpected value "visible"
      -   locator resolved to <a href="/" class="block p-2 text-lg underline-offs…>Home</a>
      -   unexpected value "visible"
      -   locator resolved to <a href="/" class="block p-2 text-lg underline-offs…>Home</a>
      -   unexpected value "visible"
      -   locator resolved to <a href="/" class="block p-2 text-lg underline-offs…>Home</a>
      -   unexpected value "visible"


      34 |     await expect(homePage.footer.host).toBeVisible();
      35 |     for (let link of Object.values(homePage.footer.links)) {
    > 36 |       await expect(link).not.toBeVisible();
         |                              ^
      37 |     }
      38 |   });
      39 |

        at /home/runner/work/playwright-boilerplate/playwright-boilerplate/tests/pages/home.spec.ts:36:30

    attachment #1: video (video/webm) ──────────────────────────────────────────────────────────────
    all-blob-reports/resources/a70bae5b5ae506971498c80b59ba5eca9306668a.webm
    ────────────────────────────────────────────────────────────────────────────────────────────────

    attachment #2: trace (application/zip) ─────────────────────────────────────────────────────────
    all-blob-reports/resources/d9aac255b288afbdc9cfa2c6a7e61ee8715ec987.zip
    Usage:

        npx playwright show-trace all-blob-reports/resources/d9aac255b288afbdc9cfa2c6a7e61ee8715ec987.zip

    ────────────────────────────────────────────────────────────────────────────────────────────────

    Retry #1 ───────────────────────────────────────────────────────────────────────────────────────

    Error: Timed out 5000ms waiting for expect(locator).not.toBeVisible()

    Locator: locator('footer').getByRole('link', { name: 'Home' })
    Expected: not visible
    Received: visible
    Call log:
      - expect.not.toBeVisible with timeout 5000ms
      - waiting for locator('footer').getByRole('link', { name: 'Home' })
      -   locator resolved to <a href="/" class="block p-2 text-lg underline-offs…>Home</a>
      -   unexpected value "visible"
      -   locator resolved to <a href="/" class="block p-2 text-lg underline-offs…>Home</a>
      -   unexpected value "visible"
      -   locator resolved to <a href="/" class="block p-2 text-lg underline-offs…>Home</a>
      -   unexpected value "visible"
      -   locator resolved to <a href="/" class="block p-2 text-lg underline-offs…>Home</a>
      -   unexpected value "visible"
      -   locator resolved to <a href="/" class="block p-2 text-lg underline-offs…>Home</a>
      -   unexpected value "visible"
      -   locator resolved to <a href="/" class="block p-2 text-lg underline-offs…>Home</a>
      -   unexpected value "visible"
      -   locator resolved to <a href="/" class="block p-2 text-lg underline-offs…>Home</a>
      -   unexpected value "visible"
      -   locator resolved to <a href="/" class="block p-2 text-lg underline-offs…>Home</a>
      -   unexpected value "visible"
      -   locator resolved to <a href="/" class="block p-2 text-lg underline-offs…>Home</a>
      -   unexpected value "visible"


      34 |     await expect(homePage.footer.host).toBeVisible();
      35 |     for (let link of Object.values(homePage.footer.links)) {
    > 36 |       await expect(link).not.toBeVisible();
         |                              ^
      37 |     }
      38 |   });
      39 |

        at /home/runner/work/playwright-boilerplate/playwright-boilerplate/tests/pages/home.spec.ts:36:30

    attachment #1: video (video/webm) ──────────────────────────────────────────────────────────────
    all-blob-reports/resources/0c20aebfa8476c042ab66e32046b909af225dabd.webm
    ────────────────────────────────────────────────────────────────────────────────────────────────

    attachment #2: trace (application/zip) ─────────────────────────────────────────────────────────
    all-blob-reports/resources/93923355222c22ce5759d587c83a7ee6e912eab1.zip
    Usage:

        npx playwright show-trace all-blob-reports/resources/93923355222c22ce5759d587c83a7ee6e912eab1.zip

    ────────────────────────────────────────────────────────────────────────────────────────────────

    Retry #2 ───────────────────────────────────────────────────────────────────────────────────────

    Error: Timed out 5000ms waiting for expect(locator).not.toBeVisible()

    Locator: locator('footer').getByRole('link', { name: 'Home' })
    Expected: not visible
    Received: visible
    Call log:
      - expect.not.toBeVisible with timeout 5000ms
      - waiting for locator('footer').getByRole('link', { name: 'Home' })
      -   locator resolved to <a href="/" class="block p-2 text-lg underline-offs…>Home</a>
      -   unexpected value "visible"
      -   locator resolved to <a href="/" class="block p-2 text-lg underline-offs…>Home</a>
      -   unexpected value "visible"
      -   locator resolved to <a href="/" class="block p-2 text-lg underline-offs…>Home</a>
      -   unexpected value "visible"
      -   locator resolved to <a href="/" class="block p-2 text-lg underline-offs…>Home</a>
      -   unexpected value "visible"
      -   locator resolved to <a href="/" class="block p-2 text-lg underline-offs…>Home</a>
      -   unexpected value "visible"
      -   locator resolved to <a href="/" class="block p-2 text-lg underline-offs…>Home</a>
      -   unexpected value "visible"
      -   locator resolved to <a href="/" class="block p-2 text-lg underline-offs…>Home</a>
      -   unexpected value "visible"
      -   locator resolved to <a href="/" class="block p-2 text-lg underline-offs…>Home</a>
      -   unexpected value "visible"
      -   locator resolved to <a href="/" class="block p-2 text-lg underline-offs…>Home</a>
      -   unexpected value "visible"


      34 |     await expect(homePage.footer.host).toBeVisible();
      35 |     for (let link of Object.values(homePage.footer.links)) {
    > 36 |       await expect(link).not.toBeVisible();
         |                              ^
      37 |     }
      38 |   });
      39 |

        at /home/runner/work/playwright-boilerplate/playwright-boilerplate/tests/pages/home.spec.ts:36:30

    attachment #1: video (video/webm) ──────────────────────────────────────────────────────────────
    all-blob-reports/resources/a56dba7a923675baea4d0fa49a879bd47a0d09ff.webm
    ────────────────────────────────────────────────────────────────────────────────────────────────

    attachment #2: trace (application/zip) ─────────────────────────────────────────────────────────
    all-blob-reports/resources/d03139d212bda63cb77eb94aba0e260d55e0992a.zip
    Usage:

        npx playwright show-trace all-blob-reports/resources/d03139d212bda63cb77eb94aba0e260d55e0992a.zip

    ────────────────────────────────────────────────────────────────────────────────────────────────

Check failure on line 0 in junit.xml

See this annotation in the file changed.

@github-actions github-actions / Playwright Test Report

pages/home.spec.ts ► home page › has no broken links

Failed test found in:
  junit.xml
Error:
    [firefox] › pages/home.spec.ts:40:7 › home page › has no broken links ────────────────────────────
Raw output
  [firefox] › pages/home.spec.ts:40:7 › home page › has no broken links ────────────────────────────

    Error: expect(received).toBe(expected) // Object.is equality

    Expected: 372
    Received: 200

      44 |       if (href) {
      45 |         const response = await homePage.page.request.get(href);
    > 46 |         expect(response?.status()).toBe(372);
         |                                    ^
      47 |       }
      48 |     }
      49 |   });

        at /home/runner/work/playwright-boilerplate/playwright-boilerplate/tests/pages/home.spec.ts:46:36

    attachment #1: video (video/webm) ──────────────────────────────────────────────────────────────
    all-blob-reports/resources/cd01352dd9ae68476b228c036a638b8e863207de.webm
    ────────────────────────────────────────────────────────────────────────────────────────────────

    attachment #2: trace (application/zip) ─────────────────────────────────────────────────────────
    all-blob-reports/resources/8c03d205e6626e1a8ba1a747b28ac9a234ecdeb8.zip
    Usage:

        npx playwright show-trace all-blob-reports/resources/8c03d205e6626e1a8ba1a747b28ac9a234ecdeb8.zip

    ────────────────────────────────────────────────────────────────────────────────────────────────

    Retry #1 ───────────────────────────────────────────────────────────────────────────────────────

    Error: expect(received).toBe(expected) // Object.is equality

    Expected: 372
    Received: 200

      44 |       if (href) {
      45 |         const response = await homePage.page.request.get(href);
    > 46 |         expect(response?.status()).toBe(372);
         |                                    ^
      47 |       }
      48 |     }
      49 |   });

        at /home/runner/work/playwright-boilerplate/playwright-boilerplate/tests/pages/home.spec.ts:46:36

    attachment #1: video (video/webm) ──────────────────────────────────────────────────────────────
    all-blob-reports/resources/355b56c09d9ac10f3d455a9ad410907d5cf4acb8.webm
    ────────────────────────────────────────────────────────────────────────────────────────────────

    attachment #2: trace (application/zip) ─────────────────────────────────────────────────────────
    all-blob-reports/resources/e93efb3baeed6700af6ad1c1b7074f02281944db.zip
    Usage:

        npx playwright show-trace all-blob-reports/resources/e93efb3baeed6700af6ad1c1b7074f02281944db.zip

    ────────────────────────────────────────────────────────────────────────────────────────────────

    Retry #2 ───────────────────────────────────────────────────────────────────────────────────────

    Error: expect(received).toBe(expected) // Object.is equality

    Expected: 372
    Received: 200

      44 |       if (href) {
      45 |         const response = await homePage.page.request.get(href);
    > 46 |         expect(response?.status()).toBe(372);
         |                                    ^
      47 |       }
      48 |     }
      49 |   });

        at /home/runner/work/playwright-boilerplate/playwright-boilerplate/tests/pages/home.spec.ts:46:36

    attachment #1: video (video/webm) ──────────────────────────────────────────────────────────────
    all-blob-reports/resources/d3554a230173d2098544c34018a84b1aefdd84d8.webm
    ────────────────────────────────────────────────────────────────────────────────────────────────

    attachment #2: trace (application/zip) ─────────────────────────────────────────────────────────
    all-blob-reports/resources/39964c6a487280f04e72d910c34038aa888ee224.zip
    Usage:

        npx playwright show-trace all-blob-reports/resources/39964c6a487280f04e72d910c34038aa888ee224.zip

    ────────────────────────────────────────────────────────────────────────────────────────────────