diff --git a/.github/workflows/frontend.yaml b/.github/workflows/frontend.yaml index a7b5a704e2..e7a2be4117 100644 --- a/.github/workflows/frontend.yaml +++ b/.github/workflows/frontend.yaml @@ -32,6 +32,7 @@ env: INVENTREE_STATIC_ROOT: /home/runner/work/InvenTree/test_inventree_static INVENTREE_BACKUP_DIR: /home/runner/work/InvenTree/test_inventree_backup INVENTREE_SITE_URL: http://localhost:8000 + INVENTREE_LOGIN_ATTEMPTS: 25 permissions: contents: read diff --git a/src/frontend/tests/pages/pui_transfer.spec.ts b/src/frontend/tests/pages/pui_transfer.spec.ts index c00a1de861..0b4ac760be 100644 --- a/src/frontend/tests/pages/pui_transfer.spec.ts +++ b/src/frontend/tests/pages/pui_transfer.spec.ts @@ -108,10 +108,16 @@ test('Transfer Order - Calendar', async ({ browser }) => { await navigate(page, 'stock/location/index/transfer-orders'); await activateCalendarView(page); - // Export calendar data + // Export calendar data - assert on download instead of notification await page.getByLabel('calendar-export-data').click(); - await page.getByRole('button', { name: 'Export', exact: true }).click(); - await page.getByText('Process completed successfully').waitFor(); + + const [download] = await Promise.all([ + page.waitForEvent('download'), + page.getByRole('button', { name: 'Export', exact: true }).click() + ]); + expect(download.suggestedFilename()).toMatch( + /InvenTree_TransferOrder.*\.csv$/i + ); // Required because we downloaded a file await page.context().close(); diff --git a/src/frontend/tests/pui_forms.spec.ts b/src/frontend/tests/pui_forms.spec.ts index 4912a5053e..ab705c0b9d 100644 --- a/src/frontend/tests/pui_forms.spec.ts +++ b/src/frontend/tests/pui_forms.spec.ts @@ -14,12 +14,7 @@ import { setSettingState } from './settings'; // Test hover form action in related fields test('Forms - Hover', async ({ browser }) => { - const page = await doCachedLogin(browser, { - user: stevenuser, - url: 'purchasing/index/purchaseorders' - }); - - // Patch user settings to ensure we can see "extra model info" on hover + // Patch user settings to ensure we can see "extra model info" on hover; done before load to avoid flakiness const api = await createApi({ username: stevenuser.username, password: stevenuser.testcred @@ -33,6 +28,11 @@ test('Forms - Hover', async ({ browser }) => { expect(response.status()).toBe(200); + const page = await doCachedLogin(browser, { + user: stevenuser, + url: 'purchasing/index/purchaseorders' + }); + await page .getByRole('button', { name: 'action-button-add-purchase-' }) .click(); diff --git a/src/frontend/tests/pui_settings.spec.ts b/src/frontend/tests/pui_settings.spec.ts index dbd478c60d..0f3a7a866b 100644 --- a/src/frontend/tests/pui_settings.spec.ts +++ b/src/frontend/tests/pui_settings.spec.ts @@ -368,17 +368,17 @@ test('Settings - Admin - Background Tasks', async ({ browser }) => { }); test('Settings - Admin - Barcode History', async ({ browser }) => { - // Login with admin credentials - const page = await doCachedLogin(browser, { - user: adminuser - }); - - // Ensure that the "save scans" setting is enabled + // Ensure that the "save scans" setting is enabled; done before first load of test to reduce flakiness await setSettingState({ setting: 'BARCODE_STORE_RESULTS', value: true }); + // Login with admin credentials + const page = await doCachedLogin(browser, { + user: adminuser + }); + // Scan some barcodes (via API calls) const barcodes = ['ABC1234', 'XYZ5678', 'QRS9012']; const api = await createApi({});