Better handling for undefined values in SettingsList (#8531) #15828
qc_checks.yaml
on: push
Filter
5s
Build - UI Platform
2m 8s
Style [Documentation]
29s
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 13s
Matrix: coverage
Style - Classic UI [JS]
1m 37s
Push new schema
0s
Annotations
10 errors, 8 warnings, and 1 notice
[chromium] › pages/pui_build.spec.ts:161:1 › Pages - Build Order - Allocation:
src/frontend/tests/baseFixtures.ts#L85
1) [chromium] › pages/pui_build.spec.ts:161:1 › Pages - Build Order - Allocation ─────────────────
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/api/stock/?part_detail=true&tests=true&is_building=true&build=1",
+ },
+ "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@afb273f7e90d0151b3a5629f4f414fc3",
+ "_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@afb273f7e90d0151b3a5629f4f414fc3",
+ "_type": "Page",
+ },
+ },
+ ConsoleMessage {
+ "_event": Object {
+ "args": Array [],
+ "location": Object {
+ "columnNumber": 0,
+ "lineNumber": 0,
+ "url": "http://localhost:8000/api/stock/?part_detail=true&tests=true&is_building=true&build=1&limit=25&offset=0",
+ },
+ "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@afb273f7e90d0151b3a5629f4f414fc3",
+ "_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@afb273f7e90d0151b3a5629f4f414fc3",
+ "_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)
|
[chromium] › pages/pui_build.spec.ts:161:1 › Pages - Build Order - Allocation:
src/frontend/tests/pages/pui_build.spec.ts#L1
1) [chromium] › pages/pui_build.spec.ts:161:1 › Pages - Build Order - Allocation ─────────────────
Retry #1 ───────────────────────────────────────────────────────────────────────────────────────
Test timeout of 90000ms exceeded.
|
[chromium] › pages/pui_build.spec.ts:161:1 › Pages - Build Order - Allocation:
src/frontend/tests/pages/pui_build.spec.ts#L243
1) [chromium] › pages/pui_build.spec.ts:161:1 › Pages - Build Order - Allocation ─────────────────
Retry #1 ───────────────────────────────────────────────────────────────────────────────────────
Error: locator.waitFor: Test timeout of 90000ms exceeded.
Call log:
- waiting for getByRole('cell', { name: 'Red Widget' }).locator('xpath=ancestor::tr').first().getByRole('cell', { name: 'widget.red' }).first() to be visible
241 | const progress = `${item.allocated} / ${item.required}`;
242 |
> 243 | await row.getByRole('cell', { name: item.ipn }).first().waitFor();
| ^
244 | await row.getByRole('cell', { name: item.available }).first().waitFor();
245 | await row.getByRole('cell', { name: progress }).first().waitFor();
246 | }
at /home/runner/work/InvenTree/InvenTree/src/frontend/tests/pages/pui_build.spec.ts:243:61
|
[chromium] › pages/pui_sales_order.spec.ts:5:1 › Sales Orders:
src/frontend/tests/pages/pui_sales_order.spec.ts#L1
2) [chromium] › pages/pui_sales_order.spec.ts:5:1 › Sales Orders ─────────────────────────────────
Test timeout of 90000ms exceeded.
|
[chromium] › pages/pui_sales_order.spec.ts:5:1 › Sales Orders:
src/frontend/tests/baseFixtures.ts#L85
2) [chromium] › pages/pui_sales_order.spec.ts:5:1 › Sales Orders ─────────────────────────────────
Error: expect(received).toEqual(expected) // deep equality
- Expected - 1
+ Received + 44
- Array []
+ Array [
+ ConsoleMessage {
+ "_event": Object {
+ "args": Array [],
+ "location": Object {
+ "columnNumber": 0,
+ "lineNumber": 0,
+ "url": "http://localhost:8000/api/order/so/3/hold/",
+ },
+ "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@e36f60d535773fda7b6dd4d6ab142e97",
+ "_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@e36f60d535773fda7b6dd4d6ab142e97",
+ "_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)
|
[chromium] › pages/pui_sales_order.spec.ts:5:1 › Sales Orders:
src/frontend/tests/pages/pui_sales_order.spec.ts#L41
2) [chromium] › pages/pui_sales_order.spec.ts:5:1 › Sales Orders ─────────────────────────────────
Error: locator.waitFor: Test timeout of 90000ms exceeded.
Call log:
- waiting for getByRole('button', { name: 'Issue Order' }) to be visible
39 |
40 | await page.getByText('On Hold').first().waitFor();
> 41 | await page.getByRole('button', { name: 'Issue Order' }).waitFor();
| ^
42 | });
43 |
44 | test('Sales Orders - Shipments', async ({ page }) => {
at /home/runner/work/InvenTree/InvenTree/src/frontend/tests/pages/pui_sales_order.spec.ts:41:59
|
[chromium] › pages/pui_sales_order.spec.ts:5:1 › Sales Orders:
src/frontend/tests/pages/pui_sales_order.spec.ts#L1
2) [chromium] › pages/pui_sales_order.spec.ts:5:1 › Sales Orders ─────────────────────────────────
Retry #1 ───────────────────────────────────────────────────────────────────────────────────────
Test timeout of 90000ms exceeded.
|
[chromium] › pages/pui_sales_order.spec.ts:5:1 › Sales Orders:
src/frontend/tests/pages/pui_sales_order.spec.ts#L15
2) [chromium] › pages/pui_sales_order.spec.ts:5:1 › Sales Orders ─────────────────────────────────
Retry #1 ───────────────────────────────────────────────────────────────────────────────────────
Error: locator.waitFor: Test timeout of 90000ms exceeded.
Call log:
- waiting for getByText('On Hold').first() to be visible
13 | await page.getByRole('tab', { name: 'Sales Orders' }).waitFor();
14 | await page.getByText('In Progress').first().waitFor();
> 15 | await page.getByText('On Hold').first().waitFor();
| ^
16 |
17 | // Navigate to a particular sales order
18 | await page.getByRole('cell', { name: 'SO0003' }).click();
at /home/runner/work/InvenTree/InvenTree/src/frontend/tests/pages/pui_sales_order.spec.ts:15:43
|
[firefox] › pages/pui_sales_order.spec.ts:5:1 › Sales Orders:
src/frontend/tests/pages/pui_sales_order.spec.ts#L1
3) [firefox] › pages/pui_sales_order.spec.ts:5:1 › Sales Orders ──────────────────────────────────
Test timeout of 90000ms exceeded.
|
[firefox] › pages/pui_sales_order.spec.ts:5:1 › Sales Orders:
src/frontend/tests/pages/pui_sales_order.spec.ts#L15
3) [firefox] › pages/pui_sales_order.spec.ts:5:1 › Sales Orders ──────────────────────────────────
Error: locator.waitFor: Test timeout of 90000ms exceeded.
Call log:
- waiting for getByText('On Hold').first() to be visible
13 | await page.getByRole('tab', { name: 'Sales Orders' }).waitFor();
14 | await page.getByText('In Progress').first().waitFor();
> 15 | await page.getByText('On Hold').first().waitFor();
| ^
16 |
17 | // Navigate to a particular sales order
18 | await page.getByRole('cell', { name: 'SO0003' }).click();
at /home/runner/work/InvenTree/InvenTree/src/frontend/tests/pages/pui_sales_order.spec.ts:15:43
|
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 46.0s
|
Slow Test:
src/frontend/[chromium] › pages/pui_stock.spec.ts#L1
src/frontend/[chromium] › pages/pui_stock.spec.ts took 42.5s
|
Slow Test:
src/frontend/[firefox] › pages/pui_purchase_order.spec.ts#L1
src/frontend/[firefox] › pages/pui_purchase_order.spec.ts took 34.3s
|
Slow Test:
src/frontend/[chromium] › pages/pui_scan.spec.ts#L1
src/frontend/[chromium] › pages/pui_scan.spec.ts took 33.6s
|
Slow Test:
src/frontend/[chromium] › pui_plugins.spec.ts#L1
src/frontend/[chromium] › pui_plugins.spec.ts took 25.3s
|
🎭 Playwright Run Summary
3 failed
[chromium] › pages/pui_build.spec.ts:161:1 › Pages - Build Order - Allocation ──────────────────
[chromium] › pages/pui_sales_order.spec.ts:5:1 › Sales Orders ──────────────────────────────────
[firefox] › pages/pui_sales_order.spec.ts:5:1 › Sales Orders ───────────────────────────────────
3 flaky
[chromium] › pui_settings.spec.ts:9:1 › Settings - Language / Color ────────────────────────────
[firefox] › pages/pui_part.spec.ts:99:1 › Parts - Allocations ──────────────────────────────────
[firefox] › pages/pui_stock.spec.ts:118:1 › Stock - Stock Actions ──────────────────────────────
120 passed (16.0m)
|
Artifacts
Produced during runtime
Name | Size | |
---|---|---|
frontend-build
|
2.21 MB |
|
playwright-report
|
44.8 MB |
|