Purchase Order Destination #15410
qc_checks.yaml
on: pull_request
Filter
6s
Build - UI Platform
1m 56s
Style [Documentation]
41s
Tests - Migrations [PostgreSQL]
0s
Tests - Full Migration [SQLite]
0s
Tests - inventree-python
5m 35s
Tests - DB [PostgreSQL]
13m 9s
Tests - DB [MySQL]
12m 53s
Tests - Platform UI
22m 39s
Matrix: coverage
Style - Classic UI [JS]
1m 30s
Push new schema
0s
Annotations
11 errors, 9 warnings, and 1 notice
Tests - API Schema Documentation
Process completed with exit code 1.
|
[firefox] › modals.spec.ts:4:1 › Modals as admin:
src/frontend/tests/modals.spec.ts#L1
1) [firefox] › modals.spec.ts:4:1 › Modals as admin ──────────────────────────────────────────────
Test timeout of 90000ms exceeded.
|
[firefox] › modals.spec.ts:4:1 › Modals as admin:
src/frontend/tests/baseFixtures.ts#L85
1) [firefox] › modals.spec.ts:4:1 › Modals as admin ──────────────────────────────────────────────
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@f145b303b35e04cebe625c3dd474ac11",
+ "_type": "JSHandle",
+ },
+ "_pendingHandlers": Map {},
+ "_rejectionHandler": undefined,
+ "off": [Function removeListener],
+ "on": [Function addListener],
+ },
+ ],
+ "location": Object {
+ "columnNumber": 1,
+ "lineNumber": 0,
+ "url": "http://localhost:5173/platform/",
+ },
+ "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@fd6c6b39a7b8c51a1e11d9bfdd7501cf",
+ "_type": "Page",
+ },
+ "_pendingHandlers": Map {},
+ "_rejectionHandler": undefined,
+ "off": [Function removeListener],
+ "on": [Function addListener],
+ },
+ "text": "[JavaScript Error: \"Loading module from “http://localhost:5173/src/locales/en/messages.ts” was blocked because of a disallowed MIME type (“”).\" {file: \"http://localhost:5173/platform/\" line: 0}]",
+ "type": "error",
+ },
+ "_page": Object {
+ "_guid": "page@fd6c6b39a7b8c51a1e11d9bfdd7501cf",
+ "_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] › modals.spec.ts:4:1 › Modals as admin:
src/frontend/tests/modals.spec.ts#L56
1) [firefox] › modals.spec.ts:4:1 › Modals as admin ──────────────────────────────────────────────
Error: locator.click: Test timeout of 90000ms exceeded.
Call log:
- waiting for getByRole('button', { name: 'Open QR code scanner' })
54 |
55 | // qr code modal
> 56 | await page.getByRole('button', { name: 'Open QR code scanner' }).click();
| ^
57 | await page.getByRole('banner').getByRole('button').click();
58 | await page.getByRole('button', { name: 'Open QR code scanner' }).click();
59 | await page.getByRole('button', { name: 'Close modal' }).click();
at /home/runner/work/InvenTree/InvenTree/src/frontend/tests/modals.spec.ts:56:68
|
[firefox] › modals.spec.ts:4:1 › Modals as admin:
src/frontend/tests/modals.spec.ts#L1
1) [firefox] › modals.spec.ts:4:1 › Modals as admin ──────────────────────────────────────────────
Retry #1 ───────────────────────────────────────────────────────────────────────────────────────
Test timeout of 90000ms exceeded.
|
[firefox] › modals.spec.ts:4:1 › Modals as admin:
src/frontend/tests/baseFixtures.ts#L85
1) [firefox] › modals.spec.ts:4:1 › Modals as admin ──────────────────────────────────────────────
Retry #1 ───────────────────────────────────────────────────────────────────────────────────────
Error: expect(received).toEqual(expected) // deep equality
- Expected - 1
+ Received + 140
- Array []
+ Array [
+ ConsoleMessage {
+ "_event": Object {
+ "args": Array [
+ EventEmitter {
+ "_events": Object {
+ "previewUpdated": [Function anonymous],
+ },
+ "_eventsCount": 1,
+ "_maxListeners": undefined,
+ "_object": Object {
+ "_guid": "handle@99112b62df5f86fdd1aca8d04cd8f209",
+ "_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=234a7f96",
+ },
+ "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@9217b6534134b1d6d19cdee66eb1895f",
+ "_type": "Page",
+ },
+ "_pendingHandlers": Map {},
+ "_rejectionHandler": undefined,
+ "off": [Function removeListener],
+ "on": [Function addListener],
+ },
+ "text": "The above error occurred in one of your React components:
+
+ Lazy
+ Suspense
+ RenderedRoute@http://localhost:5173/node_modules/.vite/deps/react-router-dom.js?v=bdc31495:4095:7
+ Routes@http://localhost:5173/node_modules/.vite/deps/react-router-dom.js?v=bdc31495:4533:7
+ Router@http://localhost:5173/node_modules/.vite/deps/react-router-dom.js?v=bdc31495:4481:7
+ BrowserRouter@http://localhost:5173/node_modules/.vite/deps/react-router-dom.js?v=bdc31495:5223:7
+ QueryClientProvider@http://localhost:5173/node_modules/.vite/deps/@tanstack_react-query.js?v=09f858d0:2725:27
+ ModalsProvider@http://localhost:5173/node_modules/.vite/deps/@mantine_modals.js?v=2ae722f0:184:24
+ I18nProvider@http://localhost:5173/node_modules/.vite/deps/@lingui_react.js?v=113383b9:159:20
+ LanguageContext@http://localhost:5173/src/contexts/LanguageContext.tsx:3440:32
+ MantineThemeProvider@http://localhost:5173/node_modules/.vite/deps/chunk-56VRJ6UA.js?v=234a7f96:2184:30
+ MantineProvider@http://localhost:5173/node_modules/.vite/deps/chunk-56VRJ6UA.js?v=234a7f96:2683:25
+ ThemeContext@http://localhost:5173/src/contexts/ThemeContext.tsx:919:29
+ QueryClientProvider@http://localhost:5173/node_modules/.vite/deps/@tanstack_react-query.js?v=09f858d0:2725:27
+ BaseContext@http://localhost:5173/src/contexts/BaseContext.tsx:795:28
+ DesktopAppView@http://localhost:5173/src/views/DesktopAppView.tsx:1002:48
+ Suspense
+ MainView@http://localhost:5173/src/views/MainView.tsx:1472:51
+
+ Consider adding an error boundary to your tree to customize error handling behavior.
+ Visit https://reactjs.org/link/error-boundaries to learn mo
|
[firefox] › modals.spec.ts:4:1 › Modals as admin:
src/frontend/tests/modals.spec.ts#L56
1) [firefox] › modals.spec.ts:4:1 › Modals as admin ──────────────────────────────────────────────
Retry #1 ───────────────────────────────────────────────────────────────────────────────────────
Error: locator.click: Test timeout of 90000ms exceeded.
Call log:
- waiting for getByRole('button', { name: 'Open QR code scanner' })
54 |
55 | // qr code modal
> 56 | await page.getByRole('button', { name: 'Open QR code scanner' }).click();
| ^
57 | await page.getByRole('banner').getByRole('button').click();
58 | await page.getByRole('button', { name: 'Open QR code scanner' }).click();
59 | await page.getByRole('button', { name: 'Close modal' }).click();
at /home/runner/work/InvenTree/InvenTree/src/frontend/tests/modals.spec.ts:56:68
|
[chromium] › pui_general.spec.ts:71:1 › Sales:
src/frontend/tests/pui_general.spec.ts#L1
2) [chromium] › pui_general.spec.ts:71:1 › Sales ─────────────────────────────────────────────────
Test timeout of 90000ms exceeded.
|
[chromium] › pui_general.spec.ts:71:1 › Sales:
src/frontend/tests/baseFixtures.ts#L85
2) [chromium] › pui_general.spec.ts:71:1 › Sales ─────────────────────────────────────────────────
Error: expect(received).toEqual(expected) // deep equality
- Expected - 1
+ Received + 2018
- Array []
+ Array [
+ ConsoleMessage {
+ "_event": Object {
+ "args": Array [],
+ "location": Object {
+ "columnNumber": 0,
+ "lineNumber": 0,
+ "url": "http://localhost:8000/api/order/so/?customer_detail=true&customer=30&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@0e76cb79f13524a3559904b603fb2af6",
+ "_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@0e76cb79f13524a3559904b603fb2af6",
+ "_type": "Page",
+ },
+ },
+ ConsoleMessage {
+ "_event": Object {
+ "args": Array [],
+ "location": Object {
+ "columnNumber": 0,
+ "lineNumber": 0,
+ "url": "http://localhost:8000/api/order/so/?customer_detail=true&customer=30",
+ },
+ "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@0e76cb79f13524a3559904b603fb2af6",
+ "_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@0e76cb79f13524a3559904b603fb2af6",
+ "_type": "Page",
+ },
+ },
+ ConsoleMessage {
+ "_event": Object {
+ "args": Array [],
+ "location": Object {
+ "columnNumber": 0,
+ "lineNumber": 0,
+ "url": "http://localhost:8000/api/order/so/?customer_detail=true&customer=30&limit=25&offset=0",
+ },
+ "page": EventEmitter {
+ "_events": Object {
+ "bindingCall": [Function anonymous],
|
[chromium] › pui_general.spec.ts:71:1 › Sales:
src/frontend/tests/pui_general.spec.ts#L98
2) [chromium] › pui_general.spec.ts:71:1 › Sales ─────────────────────────────────────────────────
Error: locator.click: Test timeout of 90000ms exceeded.
Call log:
- waiting for getByRole('cell', { name: 'SO0001' })
96 | // Sales Order Details
97 | await page.getByRole('tab', { name: 'Sales Orders' }).click();
> 98 | await page.getByRole('cell', { name: 'SO0001' }).click();
| ^
99 | await page
100 | .getByLabel('Order Details')
101 | .getByText('Selling some stuff')
at /home/runner/work/InvenTree/InvenTree/src/frontend/tests/pui_general.spec.ts:98:52
|
[chromium] › pui_general.spec.ts:143:1 › Language / Color:
src/frontend/tests/baseFixtures.ts#L85
3) [chromium] › pui_general.spec.ts:143:1 › Language / Color ─────────────────────────────────────
Error: expect(received).toEqual(expected) // deep equality
- Expected - 1
+ Received + 128
- 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@ee5a5dab10d63d6f76f4782a80150d84",
+ "_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@ee5a5dab10d63d6f76f4782a80150d84",
+ "_type": "Page",
+ },
+ },
+ ConsoleMessage {
+ "_event": Object {
+ "args": Array [],
+ "location": Object {
+ "columnNumber": 0,
+ "lineNumber": 0,
+ "url": "http://localhost:8000/api/settings/user/",
+ },
+ "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@ee5a5dab10d63d6f76f4782a80150d84",
+ "_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@ee5a5dab10d63d6f76f4782a80150d84",
+ "_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
|
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 - inventree-python
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_part.spec.ts#L1
src/frontend/[firefox] › pages/pui_part.spec.ts took 1.6m
|
Slow Test:
src/frontend/[firefox] › pages/pui_build.spec.ts#L1
src/frontend/[firefox] › pages/pui_build.spec.ts took 46.8s
|
Slow Test:
src/frontend/[firefox] › pui_settings.spec.ts#L1
src/frontend/[firefox] › pui_settings.spec.ts took 36.4s
|
Slow Test:
src/frontend/[firefox] › pui_forms.spec.ts#L1
src/frontend/[firefox] › pui_forms.spec.ts took 24.1s
|
Slow Test:
src/frontend/[firefox] › pui_printing.spec.ts#L1
src/frontend/[firefox] › pui_printing.spec.ts took 23.4s
|
🎭 Playwright Run Summary
1 failed
[firefox] › modals.spec.ts:4:1 › Modals as admin ───────────────────────────────────────────────
7 flaky
[chromium] › pui_general.spec.ts:71:1 › Sales ──────────────────────────────────────────────────
[chromium] › pui_general.spec.ts:143:1 › Language / Color ──────────────────────────────────────
[firefox] › pages/pui_sales_order.spec.ts:44:1 › Sales Orders - Shipments ──────────────────────
[firefox] › pages/pui_scan.spec.ts:63:1 › Pages - Index - Scan (PurchaseOrder) ─────────────────
[firefox] › pages/pui_stock.spec.ts:118:1 › Stock - Stock Actions ──────────────────────────────
[firefox] › pui_basic.spec.ts:5:1 › Basic Login Test ───────────────────────────────────────────
[firefox] › pui_general.spec.ts:71:1 › Sales ───────────────────────────────────────────────────
108 passed (15.8m)
|
Artifacts
Produced during runtime
Name | Size | |
---|---|---|
frontend-build
|
2.13 MB |
|
playwright-report
|
45 MB |
|
schema.yml
|
62.7 KB |
|