Add row context (right click) additionally to actions in tables #15689
qc_checks.yaml
on: pull_request
Filter
10s
Build - UI Platform
1m 52s
Style [Documentation]
28s
Tests - Migrations [PostgreSQL]
0s
Tests - Full Migration [SQLite]
0s
Tests - inventree-python
0s
Tests - DB [PostgreSQL]
0s
Tests - DB [MySQL]
0s
Tests - Platform UI
21m 37s
Matrix: coverage
Style - Classic UI [JS]
1m 22s
Push new schema
0s
Annotations
10 errors, 8 warnings, and 1 notice
[chromium] › pages/pui_part.spec.ts:168:1 › Parts - Pricing (Nothing:
src/frontend/tests/pages/pui_part.spec.ts#L1
1) [chromium] › pages/pui_part.spec.ts:168:1 › Parts - Pricing (Nothing, BOM) ────────────────────
Test timeout of 90000ms exceeded.
|
[chromium] › pages/pui_part.spec.ts:168:1 › Parts - Pricing (Nothing:
src/frontend/tests/login.ts#L37
1) [chromium] › pages/pui_part.spec.ts:168:1 › Parts - Pricing (Nothing, BOM) ────────────────────
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:169:3
|
[chromium] › pui_general.spec.ts:96:1 › Admin Button:
src/frontend/tests/baseFixtures.ts#L85
2) [chromium] › pui_general.spec.ts:96:1 › Admin Button ──────────────────────────────────────────
Error: expect(received).toEqual(expected) // deep equality
- Expected - 1
+ Received + 86
- Array []
+ Array [
+ ConsoleMessage {
+ "_event": Object {
+ "args": Array [],
+ "location": Object {
+ "columnNumber": 0,
+ "lineNumber": 0,
+ "url": "http://localhost:8000/test-admin/jsi18n/",
+ },
+ "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@aadc8cbc81f81bc6a7fabdfb449b7b24",
+ "_type": "Page",
+ },
+ "_pendingHandlers": Map {},
+ "_rejectionHandler": undefined,
+ "off": [Function removeListener],
+ "on": [Function addListener],
+ },
+ "text": "Failed to load resource: the server responded with a status of 500 (Internal Server Error)",
+ "type": "error",
+ },
+ "_page": Object {
+ "_guid": "page@aadc8cbc81f81bc6a7fabdfb449b7b24",
+ "_type": "Page",
+ },
+ },
+ ConsoleMessage {
+ "_event": Object {
+ "args": Array [],
+ "location": Object {
+ "columnNumber": 0,
+ "lineNumber": 0,
+ "url": "http://localhost:8000/test-admin/company/company/1/change/",
+ },
+ "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@aadc8cbc81f81bc6a7fabdfb449b7b24",
+ "_type": "Page",
+ },
+ "_pendingHandlers": Map {},
+ "_rejectionHandler": undefined,
+ "off": [Function removeListener],
+ "on": [Function addListener],
+ },
+ "text": "Refused to execute script from 'http://localhost:8000/test-admin/jsi18n/' because its MIME type ('text/html') is not executable, and strict MIME type checking is enabled.",
+ "type": "error",
+ },
+ "_page": Object {
+ "_guid": "page@aadc8cbc81f81bc6a7fabdfb449b7b24",
+ "_type": "Page",
+ },
+ },
+ ]
at baseFixtures.ts:85
83 | });
84 | await use(page);
> 85 | expect(messages).toEqual([]);
| ^
86 | }
87 | });
88 |
at Object.page (/home/runner/work/InvenTree/InvenTree/src/frontend/tests/baseFixtures.ts:85:22)
|
[firefox] › pages/pui_part.spec.ts:218:1 › Parts - Pricing (Supplier):
src/frontend/tests/pages/pui_part.spec.ts#L1
3) [firefox] › pages/pui_part.spec.ts:218:1 › Parts - Pricing (Supplier) ─────────────────────────
Test timeout of 90000ms exceeded.
|
[firefox] › pages/pui_part.spec.ts:218:1 › Parts - Pricing (Supplier):
src/frontend/tests/login.ts#L37
3) [firefox] › pages/pui_part.spec.ts:218:1 › Parts - Pricing (Supplier) ─────────────────────────
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:219:3
|
[firefox] › pages/pui_sales_order.spec.ts:148:1 › Purchase Orders - Barcodes:
src/frontend/tests/pages/pui_sales_order.spec.ts#L1
4) [firefox] › pages/pui_sales_order.spec.ts:148:1 › Purchase Orders - Barcodes ──────────────────
Test timeout of 90000ms exceeded.
|
[firefox] › pages/pui_sales_order.spec.ts:148:1 › Purchase Orders - Barcodes:
src/frontend/tests/baseFixtures.ts#L85
4) [firefox] › pages/pui_sales_order.spec.ts:148:1 › Purchase Orders - Barcodes ──────────────────
Error: expect(received).toEqual(expected) // deep equality
- Expected - 1
+ Received + 60
- Array []
+ Array [
+ ConsoleMessage {
+ "_event": Object {
+ "args": Array [
+ EventEmitter {
+ "_events": Object {
+ "previewUpdated": [Function anonymous],
+ },
+ "_eventsCount": 1,
+ "_maxListeners": undefined,
+ "_object": Object {
+ "_guid": "handle@3f708208173b4980f9fa76ea55a343f4",
+ "_type": "JSHandle",
+ },
+ "_pendingHandlers": Map {},
+ "_rejectionHandler": undefined,
+ "off": [Function removeListener],
+ "on": [Function addListener],
+ },
+ ],
+ "location": Object {
+ "columnNumber": 1,
+ "lineNumber": 0,
+ "url": "http://localhost:5173/platform/purchasing/purchase-order/13/detail",
+ },
+ "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@829fc9ff86e5ebc23bea523589ce46bc",
+ "_type": "Page",
+ },
+ "_pendingHandlers": Map {},
+ "_rejectionHandler": undefined,
+ "off": [Function removeListener],
+ "on": [Function addListener],
+ },
+ "text": "[JavaScript Error: \"Loading module from “http://localhost:5173/src/enums/ModelType.tsx” was blocked because of a disallowed MIME type (“”).\" {file: \"http://localhost:5173/platform/purchasing/purchase-order/13/detail\" line: 0}]",
+ "type": "error",
+ },
+ "_page": Object {
+ "_guid": "page@829fc9ff86e5ebc23bea523589ce46bc",
+ "_type": "Page",
+ },
+ },
+ ]
at baseFixtures.ts:85
83 | });
84 | await use(page);
> 85 | expect(messages).toEqual([]);
| ^
86 | }
87 | });
88 |
at Object.page (/home/runner/work/InvenTree/InvenTree/src/frontend/tests/baseFixtures.ts:85:22)
|
[firefox] › pages/pui_sales_order.spec.ts:148:1 › Purchase Orders - Barcodes:
src/frontend/tests/pages/pui_sales_order.spec.ts#L152
4) [firefox] › pages/pui_sales_order.spec.ts:148:1 › Purchase Orders - Barcodes ──────────────────
Error: locator.waitFor: Test timeout of 90000ms exceeded.
Call log:
- waiting for getByRole('button', { name: 'Issue Order' }) to be visible
150 |
151 | await page.goto(`${baseUrl}/purchasing/purchase-order/13/detail`);
> 152 | await page.getByRole('button', { name: 'Issue Order' }).waitFor();
| ^
153 |
154 | // Display QR code
155 | await page.getByLabel('action-menu-barcode-actions').click();
at /home/runner/work/InvenTree/InvenTree/src/frontend/tests/pages/pui_sales_order.spec.ts:152:59
|
[firefox] › pui_plugins.spec.ts:67:1 › Plugins - Custom Admin:
src/frontend/tests/pui_plugins.spec.ts#L1
5) [firefox] › pui_plugins.spec.ts:67:1 › Plugins - Custom Admin ─────────────────────────────────
Test timeout of 90000ms exceeded.
|
[firefox] › pui_plugins.spec.ts:67:1 › Plugins - Custom Admin:
src/frontend/tests/pui_plugins.spec.ts#L87
5) [firefox] › pui_plugins.spec.ts:67:1 › Plugins - Custom Admin ─────────────────────────────────
Error: locator.click: Test timeout of 90000ms exceeded.
Call log:
- waiting for getByRole('button', { name: 'Plugin Configuration' })
85 | .getByRole('button', { name: 'Plugin Settings' })
86 | .click();
> 87 | await page.getByRole('button', { name: 'Plugin Configuration' }).click();
| ^
88 |
89 | // Check for expected custom elements
90 | await page
at /home/runner/work/InvenTree/InvenTree/src/frontend/tests/pui_plugins.spec.ts:87:68
|
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_stock.spec.ts#L1
src/frontend/[firefox] › pages/pui_stock.spec.ts took 46.7s
|
Slow Test:
src/frontend/[firefox] › pages/pui_scan.spec.ts#L1
src/frontend/[firefox] › pages/pui_scan.spec.ts took 46.7s
|
Slow Test:
src/frontend/[chromium] › pages/pui_sales_order.spec.ts#L1
src/frontend/[chromium] › pages/pui_sales_order.spec.ts took 42.6s
|
Slow Test:
src/frontend/[firefox] › pui_settings.spec.ts#L1
src/frontend/[firefox] › pui_settings.spec.ts took 33.1s
|
Slow Test:
src/frontend/[firefox] › pui_printing.spec.ts#L1
src/frontend/[firefox] › pui_printing.spec.ts took 23.9s
|
🎭 Playwright Run Summary
5 flaky
[chromium] › pages/pui_part.spec.ts:168:1 › Parts - Pricing (Nothing, BOM) ─────────────────────
[chromium] › pui_general.spec.ts:96:1 › Admin Button ───────────────────────────────────────────
[firefox] › pages/pui_part.spec.ts:218:1 › Parts - Pricing (Supplier) ──────────────────────────
[firefox] › pages/pui_sales_order.spec.ts:148:1 › Purchase Orders - Barcodes ───────────────────
[firefox] › pui_plugins.spec.ts:67:1 › Plugins - Custom Admin ──────────────────────────────────
119 passed (14.8m)
|
Artifacts
Produced during runtime
Name | Size | |
---|---|---|
frontend-build
|
2.17 MB |
|