Additional playwright tests #15875
qc_checks.yaml
on: pull_request
Filter
5s
Build - UI Platform
2m 2s
Style [Documentation]
37s
Tests - Migrations [PostgreSQL]
0s
Tests - Full Migration [SQLite]
0s
Tests - inventree-python
0s
Tests - DB [PostgreSQL]
0s
Tests - DB [MySQL]
0s
Tests - Platform UI
22m 17s
Matrix: coverage
Style - Classic UI [JS]
1m 27s
Push new schema
0s
Annotations
10 errors, 8 warnings, and 1 notice
[chromium] › pages/pui_part.spec.ts:61:1 › Parts - Supplier Parts:
src/frontend/tests/pages/pui_part.spec.ts#L1
1) [chromium] › pages/pui_part.spec.ts:61:1 › Parts - Supplier Parts ─────────────────────────────
Test timeout of 90000ms exceeded.
|
[chromium] › pages/pui_part.spec.ts:61:1 › Parts - Supplier Parts:
src/frontend/tests/login.ts#L37
1) [chromium] › pages/pui_part.spec.ts:61:1 › Parts - Supplier Parts ─────────────────────────────
Error: locator.waitFor: Test timeout of 90000ms exceeded.
Call log:
- waiting for getByText(/InvenTree Demo Server -/) to be visible
at login.ts:37
35 | await page.waitForURL('**/platform/home');
36 |
> 37 | await page.getByText(/InvenTree Demo Server -/).waitFor();
| ^
38 | };
39 |
40 | export const doLogout = async (page) => {
at doQuickLogin (/home/runner/work/InvenTree/InvenTree/src/frontend/tests/login.ts:37:51)
at /home/runner/work/InvenTree/InvenTree/src/frontend/tests/pages/pui_part.spec.ts:62:3
|
[chromium] › pui_login.spec.ts:36:1 › Login - Quick Test:
src/frontend/tests/pui_login.spec.ts#L1
2) [chromium] › pui_login.spec.ts:36:1 › Login - Quick Test ──────────────────────────────────────
Test timeout of 90000ms exceeded.
|
[chromium] › pui_login.spec.ts:36:1 › Login - Quick Test:
src/frontend/tests/baseFixtures.ts#L85
2) [chromium] › pui_login.spec.ts:36:1 › Login - Quick Test ──────────────────────────────────────
Error: expect(received).toEqual(expected) // deep equality
- Expected - 1
+ Received + 212
- Array []
+ Array [
+ ConsoleMessage {
+ "_event": Object {
+ "args": Array [],
+ "location": Object {
+ "columnNumber": 0,
+ "lineNumber": 0,
+ "url": "http://localhost:8000/api/generic/status/",
+ },
+ "page": EventEmitter {
+ "_events": Object {
+ "bindingCall": [Function anonymous],
+ "close": [Function anonymous],
+ "crash": [Function anonymous],
+ "download": [Function anonymous],
+ "fileChooser": [Function anonymous],
+ "frameAttached": [Function anonymous],
+ "frameDetached": [Function anonymous],
+ "locatorHandlerTriggered": [Function anonymous],
+ "route": [Function anonymous],
+ "video": [Function anonymous],
+ "webSocket": [Function anonymous],
+ "worker": [Function anonymous],
+ },
+ "_eventsCount": 12,
+ "_maxListeners": undefined,
+ "_object": Object {
+ "_guid": "page@afc03f6caea9b20fad3d0dc1d32873a6",
+ "_type": "Page",
+ },
+ "_pendingHandlers": Map {},
+ "_rejectionHandler": undefined,
+ "off": [Function removeListener],
+ "on": [Function addListener],
+ },
+ "text": "Failed to load resource: the server responded with a status of 401 (Unauthorized)",
+ "type": "error",
+ },
+ "_page": Object {
+ "_guid": "page@afc03f6caea9b20fad3d0dc1d32873a6",
+ "_type": "Page",
+ },
+ },
+ ConsoleMessage {
+ "_event": Object {
+ "args": Array [],
+ "location": Object {
+ "columnNumber": 0,
+ "lineNumber": 0,
+ "url": "http://localhost:8000/api/settings/global/",
+ },
+ "page": EventEmitter {
+ "_events": Object {
+ "bindingCall": [Function anonymous],
+ "close": [Function anonymous],
+ "crash": [Function anonymous],
+ "download": [Function anonymous],
+ "fileChooser": [Function anonymous],
+ "frameAttached": [Function anonymous],
+ "frameDetached": [Function anonymous],
+ "locatorHandlerTriggered": [Function anonymous],
+ "route": [Function anonymous],
+ "video": [Function anonymous],
+ "webSocket": [Function anonymous],
+ "worker": [Function anonymous],
+ },
+ "_eventsCount": 12,
+ "_maxListeners": undefined,
+ "_object": Object {
+ "_guid": "page@afc03f6caea9b20fad3d0dc1d32873a6",
+ "_type": "Page",
+ },
+ "_pendingHandlers": Map {},
+ "_rejectionHandler": undefined,
+ "off": [Function removeListener],
+ "on": [Function addListener],
+ },
+ "text": "Failed to load resource: the server responded with a status of 401 (Unauthorized)",
+ "type": "error",
+ },
+ "_page": Object {
+ "_guid": "page@afc03f6caea9b20fad3d0dc1d32873a6",
+ "_type": "Page",
+ },
+ },
+ ConsoleMessage {
+ "_event": Object {
+ "args": Array [],
+ "location": Object {
+ "columnNumber": 0,
+ "lineNumber": 0,
+ "url": "http://localhost:8000/api/user/roles/",
+ },
+ "page": EventEmitter {
+ "_events": Object {
+ "bindingCall": [Function anonymous],
+ "close": [Function anonymous],
+ "crash": [Function anonymous],
+ "download":
|
[chromium] › pui_login.spec.ts:36:1 › Login - Quick Test:
src/frontend/tests/pui_login.spec.ts#L48
2) [chromium] › pui_login.spec.ts:36:1 › Login - Quick Test ──────────────────────────────────────
Error: locator.waitFor: Test timeout of 90000ms exceeded.
Call log:
- waiting for getByText('InvenTree Demo Server - ') to be visible
46 | await page.waitForURL('**/platform');
47 |
> 48 | await page.getByText('InvenTree Demo Server - ').waitFor();
| ^
49 |
50 | // Logout (via URL)
51 | await page.goto(`${baseUrl}/logout/`);
at /home/runner/work/InvenTree/InvenTree/src/frontend/tests/pui_login.spec.ts:48:52
|
[firefox] › pages/pui_part.spec.ts:100:1 › Parts - Allocations:
src/frontend/tests/pages/pui_part.spec.ts#L1
3) [firefox] › pages/pui_part.spec.ts:100:1 › Parts - Allocations ────────────────────────────────
Test timeout of 90000ms exceeded.
|
[firefox] › pages/pui_part.spec.ts:100:1 › Parts - Allocations:
src/frontend/tests/baseFixtures.ts#L85
3) [firefox] › pages/pui_part.spec.ts:100:1 › Parts - Allocations ────────────────────────────────
Error: expect(received).toEqual(expected) // deep equality
- Expected - 1
+ Received + 125
- Array []
+ Array [
+ ConsoleMessage {
+ "_event": Object {
+ "args": Array [
+ EventEmitter {
+ "_events": Object {
+ "previewUpdated": [Function anonymous],
+ },
+ "_eventsCount": 1,
+ "_maxListeners": undefined,
+ "_object": Object {
+ "_guid": "handle@a43a0377712023b4878a27a95529b7c8",
+ "_type": "JSHandle",
+ },
+ "_pendingHandlers": Map {},
+ "_rejectionHandler": undefined,
+ "off": [Function removeListener],
+ "on": [Function addListener],
+ },
+ ],
+ "location": Object {
+ "columnNumber": 1,
+ "lineNumber": 0,
+ "url": "http://localhost:5173/platform/stock/item/324/",
+ },
+ "page": EventEmitter {
+ "_events": Object {
+ "bindingCall": [Function anonymous],
+ "close": [Function anonymous],
+ "crash": [Function anonymous],
+ "download": [Function anonymous],
+ "fileChooser": [Function anonymous],
+ "frameAttached": [Function anonymous],
+ "frameDetached": [Function anonymous],
+ "locatorHandlerTriggered": [Function anonymous],
+ "route": [Function anonymous],
+ "video": [Function anonymous],
+ "webSocket": [Function anonymous],
+ "worker": [Function anonymous],
+ },
+ "_eventsCount": 12,
+ "_maxListeners": undefined,
+ "_object": Object {
+ "_guid": "page@9d56bbbe6cbdfe549ad7dd78342be890",
+ "_type": "Page",
+ },
+ "_pendingHandlers": Map {},
+ "_rejectionHandler": undefined,
+ "off": [Function removeListener],
+ "on": [Function addListener],
+ },
+ "text": "[JavaScript Error: \"Loading module from “http://localhost:5173/src/contexts/ThemeContext.tsx” was blocked because of a disallowed MIME type (“”).\" {file: \"http://localhost:5173/platform/stock/item/324/\" line: 0}]",
+ "type": "error",
+ },
+ "_page": Object {
+ "_guid": "page@9d56bbbe6cbdfe549ad7dd78342be890",
+ "_type": "Page",
+ },
+ },
+ ConsoleMessage {
+ "_event": Object {
+ "args": Array [
+ EventEmitter {
+ "_events": Object {
+ "previewUpdated": [Function anonymous],
+ },
+ "_eventsCount": 1,
+ "_maxListeners": undefined,
+ "_object": Object {
+ "_guid": "handle@ce55dfbde8cad73f8fdc2ed6e0f1bcc2",
+ "_type": "JSHandle",
+ },
+ "_pendingHandlers": Map {},
+ "_rejectionHandler": undefined,
+ "off": [Function removeListener],
+ "on": [Function addListener],
+ },
+ ],
+ "location": Object {
+ "columnNumber": 19,
+ "lineNumber": 2599,
+ "url": "http://localhost:5173/node_modules/.vite/deps/chunk-56VRJ6UA.js?v=7c01bf19",
+ },
+ "page": EventEmitter {
+ "_events": Object {
+ "bindingCall": [Function anonymous],
+ "close": [Function anonymous],
+ "crash": [Function anonymous],
+ "download": [Function anonymous],
+ "fileChooser": [Function anonymous],
+ "frameAttached": [Function anonymous],
+ "frameDetached": [Function anonymous],
+ "locatorHandlerTriggered": [Function anonymous],
+ "route": [Function anonym
|
[firefox] › pages/pui_part.spec.ts:100:1 › Parts - Allocations:
src/frontend/tests/pages/pui_part.spec.ts#L105
3) [firefox] › pages/pui_part.spec.ts:100:1 › Parts - Allocations ────────────────────────────────
Error: locator.click: Test timeout of 90000ms exceeded.
Call log:
- waiting for getByRole('tab', { name: 'Allocations' })
103 | // Let's look at the allocations for a single stock item
104 | await page.goto(`${baseUrl}/stock/item/324/`);
> 105 | await page.getByRole('tab', { name: 'Allocations' }).click();
| ^
106 |
107 | await page.getByRole('button', { name: 'Build Order Allocations' }).waitFor();
108 | await page.getByRole('cell', { name: 'Making some blue chairs' }).waitFor();
at /home/runner/work/InvenTree/InvenTree/src/frontend/tests/pages/pui_part.spec.ts:105:56
|
[firefox] › pages/pui_purchase_order.spec.ts:55:1 › Purchase Orders - Filters:
src/frontend/tests/pages/pui_purchase_order.spec.ts#L1
4) [firefox] › pages/pui_purchase_order.spec.ts:55:1 › Purchase Orders - Filters ─────────────────
Test timeout of 90000ms exceeded.
|
[firefox] › pages/pui_purchase_order.spec.ts:55:1 › Purchase Orders - Filters:
src/frontend/tests/login.ts#L37
4) [firefox] › pages/pui_purchase_order.spec.ts:55:1 › Purchase Orders - Filters ─────────────────
Error: locator.waitFor: Test timeout of 90000ms exceeded.
Call log:
- waiting for getByText(/InvenTree Demo Server -/) to be visible
at login.ts:37
35 | await page.waitForURL('**/platform/home');
36 |
> 37 | await page.getByText(/InvenTree Demo Server -/).waitFor();
| ^
38 | };
39 |
40 | export const doLogout = async (page) => {
at doQuickLogin (/home/runner/work/InvenTree/InvenTree/src/frontend/tests/login.ts:37:51)
at /home/runner/work/InvenTree/InvenTree/src/frontend/tests/pages/pui_purchase_order.spec.ts:56:3
|
Build - UI Platform
The following actions use a deprecated Node.js version and will be forced to run on node20: actions/setup-node@1a4442cacd436585916779262731d5b162bc6ec7. For more info: https://github.blog/changelog/2024-03-07-github-actions-all-actions-will-run-on-node20-instead-of-node16-by-default/
|
Style - Classic UI [JS]
The following actions use a deprecated Node.js version and will be forced to run on node20: actions/setup-node@1a4442cacd436585916779262731d5b162bc6ec7. For more info: https://github.blog/changelog/2024-03-07-github-actions-all-actions-will-run-on-node20-instead-of-node16-by-default/
|
Tests - Platform UI
The following actions use a deprecated Node.js version and will be forced to run on node20: actions/setup-node@1a4442cacd436585916779262731d5b162bc6ec7. For more info: https://github.blog/changelog/2024-03-07-github-actions-all-actions-will-run-on-node20-instead-of-node16-by-default/
|
Slow Test:
src/frontend/[firefox] › pages/pui_scan.spec.ts#L1
src/frontend/[firefox] › pages/pui_scan.spec.ts took 50.7s
|
Slow Test:
src/frontend/[firefox] › pages/pui_sales_order.spec.ts#L1
src/frontend/[firefox] › pages/pui_sales_order.spec.ts took 38.4s
|
Slow Test:
src/frontend/[chromium] › pui_settings.spec.ts#L1
src/frontend/[chromium] › pui_settings.spec.ts took 25.4s
|
Slow Test:
src/frontend/[chromium] › pui_plugins.spec.ts#L1
src/frontend/[chromium] › pui_plugins.spec.ts took 24.3s
|
Slow Test:
src/frontend/[chromium] › modals.spec.ts#L1
src/frontend/[chromium] › modals.spec.ts took 19.8s
|
🎭 Playwright Run Summary
4 flaky
[chromium] › pages/pui_part.spec.ts:61:1 › Parts - Supplier Parts ──────────────────────────────
[chromium] › pui_login.spec.ts:36:1 › Login - Quick Test ───────────────────────────────────────
[firefox] › pages/pui_part.spec.ts:100:1 › Parts - Allocations ─────────────────────────────────
[firefox] › pages/pui_purchase_order.spec.ts:55:1 › Purchase Orders - Filters ──────────────────
130 passed (15.3m)
|
Artifacts
Produced during runtime
Name | Size | |
---|---|---|
frontend-build
|
2.21 MB |
|