Skip to content

fix(dashboard): Use index-based identification for collection filters #5370

fix(dashboard): Use index-based identification for collection filters

fix(dashboard): Use index-based identification for collection filters #5370

Triggered via pull request February 26, 2026 14:11
Status Failure
Total duration 17m 15s
Artifacts

build_and_test.yml

on: pull_request
check dashboard changes
14s
check dashboard changes
Matrix: e2e (mariadb)
Matrix: e2e (mysql)
Matrix: e2e (postgres)
Matrix: e2e (sqljs)
Matrix: unit tests
Fit to window
Zoom out
Zoom in

Annotations

9 errors and 1 notice
dashboard e2e
Process completed with exit code 1.
[chromium] › e2e/tests/settings/shipping-methods.spec.ts:26:5 › Shipping Methods CRUD › should display the shipping methods list page: packages/dashboard/e2e/page-objects/list-page.base.ts#L42
3) [chromium] › e2e/tests/settings/shipping-methods.spec.ts:26:5 › Shipping Methods CRUD › should display the shipping methods list page Error: expect(locator).toBeVisible() failed Locator: getByRole('heading', { name: 'Shipping Methods' }) Expected: visible Timeout: 5000ms Error: element(s) not found Call log: - Expect "toBeVisible" with timeout 5000ms - waiting for getByRole('heading', { name: 'Shipping Methods' }) - waiting for" http://localhost:5174/shipping-methods" navigation to finish... - navigated to "http://localhost:5174/shipping-methods?sort=&page=1&perPage=10" - waiting for" http://localhost:5174/shipping-methods" navigation to finish... - navigated to "http://localhost:5174/shipping-methods" at ../page-objects/list-page.base.ts:42 40 | 41 | async expectLoaded() { > 42 | await expect(this.heading).toBeVisible(); | ^ 43 | await expect(this.dataTable).toBeVisible(); 44 | } 45 | at BaseListPage.expectLoaded (/home/runner/work/vendure/vendure/packages/dashboard/e2e/page-objects/list-page.base.ts:42:36) at /home/runner/work/vendure/vendure/packages/dashboard/e2e/tests/settings/shipping-methods.spec.ts:29:18
[chromium] › e2e/tests/auth/login.spec.ts:9:5 › Login › should display the login form: packages/dashboard/e2e/page-objects/login-page.ts#L25
2) [chromium] › e2e/tests/auth/login.spec.ts:9:5 › Login › should display the login form ───────── Error: expect(locator).toBeVisible() failed Locator: getByPlaceholder('Email') Expected: visible Timeout: 5000ms Error: element(s) not found Call log: - Expect "toBeVisible" with timeout 5000ms - waiting for getByPlaceholder('Email') at ../page-objects/login-page.ts:25 23 | 24 | async expectVisible() { > 25 | await expect(this.emailInput).toBeVisible(); | ^ 26 | await expect(this.passwordInput).toBeVisible(); 27 | await expect(this.signInButton).toBeVisible(); 28 | } at LoginPage.expectVisible (/home/runner/work/vendure/vendure/packages/dashboard/e2e/page-objects/login-page.ts:25:39) at /home/runner/work/vendure/vendure/packages/dashboard/e2e/tests/auth/login.spec.ts:12:25
[chromium] › e2e/tests/regression/issue-4327-collection-filter-state.spec.ts:19:5 › Issue #4327: Collection filters with same type share state › should maintain independent state for two filters of the same type: packages/dashboard/e2e/tests/regression/issue-4327-collection-filter-state.spec.ts#L35
1) [chromium] › e2e/tests/regression/issue-4327-collection-filter-state.spec.ts:19:5 › Issue #4327: Collection filters with same type share state › should maintain independent state for two filters of the same type Retry #2 ─────────────────────────────────────────────────────────────────────────────────────── Error: locator.fill: Test timeout of 30000ms exceeded. Call log: - waiting for locator('[data-slot="form-item"]').filter({ has: getByText('Term', { exact: true }) }).first().getByRole('textbox') 33 | has: page.getByText('Term', { exact: true }), 34 | }); > 35 | await termInputs.first().getByRole('textbox').fill('shirt'); | ^ 36 | 37 | // Add second "Filter by product variant name" filter 38 | await page.getByRole('button', { name: /Add collection filter/i }).click(); at /home/runner/work/vendure/vendure/packages/dashboard/e2e/tests/regression/issue-4327-collection-filter-state.spec.ts:35:55
[chromium] › e2e/tests/regression/issue-4327-collection-filter-state.spec.ts:19:5 › Issue #4327: Collection filters with same type share state › should maintain independent state for two filters of the same type: packages/dashboard/e2e/tests/regression/issue-4327-collection-filter-state.spec.ts#L0
1) [chromium] › e2e/tests/regression/issue-4327-collection-filter-state.spec.ts:19:5 › Issue #4327: Collection filters with same type share state › should maintain independent state for two filters of the same type Retry #2 ─────────────────────────────────────────────────────────────────────────────────────── Test timeout of 30000ms exceeded.
[chromium] › e2e/tests/regression/issue-4327-collection-filter-state.spec.ts:19:5 › Issue #4327: Collection filters with same type share state › should maintain independent state for two filters of the same type: packages/dashboard/e2e/tests/regression/issue-4327-collection-filter-state.spec.ts#L35
1) [chromium] › e2e/tests/regression/issue-4327-collection-filter-state.spec.ts:19:5 › Issue #4327: Collection filters with same type share state › should maintain independent state for two filters of the same type Retry #1 ─────────────────────────────────────────────────────────────────────────────────────── Error: locator.fill: Test timeout of 30000ms exceeded. Call log: - waiting for locator('[data-slot="form-item"]').filter({ has: getByText('Term', { exact: true }) }).first().getByRole('textbox') 33 | has: page.getByText('Term', { exact: true }), 34 | }); > 35 | await termInputs.first().getByRole('textbox').fill('shirt'); | ^ 36 | 37 | // Add second "Filter by product variant name" filter 38 | await page.getByRole('button', { name: /Add collection filter/i }).click(); at /home/runner/work/vendure/vendure/packages/dashboard/e2e/tests/regression/issue-4327-collection-filter-state.spec.ts:35:55
[chromium] › e2e/tests/regression/issue-4327-collection-filter-state.spec.ts:19:5 › Issue #4327: Collection filters with same type share state › should maintain independent state for two filters of the same type: packages/dashboard/e2e/tests/regression/issue-4327-collection-filter-state.spec.ts#L0
1) [chromium] › e2e/tests/regression/issue-4327-collection-filter-state.spec.ts:19:5 › Issue #4327: Collection filters with same type share state › should maintain independent state for two filters of the same type Retry #1 ─────────────────────────────────────────────────────────────────────────────────────── Test timeout of 30000ms exceeded.
[chromium] › e2e/tests/regression/issue-4327-collection-filter-state.spec.ts:19:5 › Issue #4327: Collection filters with same type share state › should maintain independent state for two filters of the same type: packages/dashboard/e2e/tests/regression/issue-4327-collection-filter-state.spec.ts#L35
1) [chromium] › e2e/tests/regression/issue-4327-collection-filter-state.spec.ts:19:5 › Issue #4327: Collection filters with same type share state › should maintain independent state for two filters of the same type Error: locator.fill: Test timeout of 30000ms exceeded. Call log: - waiting for locator('[data-slot="form-item"]').filter({ has: getByText('Term', { exact: true }) }).first().getByRole('textbox') 33 | has: page.getByText('Term', { exact: true }), 34 | }); > 35 | await termInputs.first().getByRole('textbox').fill('shirt'); | ^ 36 | 37 | // Add second "Filter by product variant name" filter 38 | await page.getByRole('button', { name: /Add collection filter/i }).click(); at /home/runner/work/vendure/vendure/packages/dashboard/e2e/tests/regression/issue-4327-collection-filter-state.spec.ts:35:55
[chromium] › e2e/tests/regression/issue-4327-collection-filter-state.spec.ts:19:5 › Issue #4327: Collection filters with same type share state › should maintain independent state for two filters of the same type: packages/dashboard/e2e/tests/regression/issue-4327-collection-filter-state.spec.ts#L0
1) [chromium] › e2e/tests/regression/issue-4327-collection-filter-state.spec.ts:19:5 › Issue #4327: Collection filters with same type share state › should maintain independent state for two filters of the same type Test timeout of 30000ms exceeded.
🎭 Playwright Run Summary
1 failed [chromium] › e2e/tests/regression/issue-4327-collection-filter-state.spec.ts:19:5 › Issue #4327: Collection filters with same type share state › should maintain independent state for two filters of the same type 2 flaky [chromium] › e2e/tests/auth/login.spec.ts:9:5 › Login › should display the login form ────────── [chromium] › e2e/tests/settings/shipping-methods.spec.ts:26:5 › Shipping Methods CRUD › should display the shipping methods list page 5 skipped 204 passed (11.3m)