diff --git a/src/frontend/tests/helpers.ts b/src/frontend/tests/helpers.ts index a44bb60dcc..c7df7d3f8e 100644 --- a/src/frontend/tests/helpers.ts +++ b/src/frontend/tests/helpers.ts @@ -41,8 +41,9 @@ export const setTableChoiceFilter = async (page, filter, value) => { await openFilterDrawer(page); await page.getByRole('button', { name: 'Add Filter' }).click(); - await page.getByPlaceholder('Select filter').fill(filter); - await page.getByRole('option', { name: 'Status' }).click(); + await page.getByPlaceholder('Select filter').click(); + await page.getByRole('option', { name: filter }).click(); + await page.getByPlaceholder('Select filter value').click(); await page.getByRole('option', { name: value }).click(); diff --git a/src/frontend/tests/pages/pui_build.spec.ts b/src/frontend/tests/pages/pui_build.spec.ts index 2d0bf5558a..32e7a61b2e 100644 --- a/src/frontend/tests/pages/pui_build.spec.ts +++ b/src/frontend/tests/pages/pui_build.spec.ts @@ -1,9 +1,9 @@ import { test } from '../baseFixtures.ts'; import { baseUrl } from '../defaults.ts'; import { - clickButtonIfVisible, + clearTableFilters, getRowFromCell, - openFilterDrawer + setTableChoiceFilter } from '../helpers.ts'; import { doQuickLogin } from '../login.ts'; @@ -266,8 +266,23 @@ test('Build Order - Filters', async ({ page }) => { await page.goto(`${baseUrl}/manufacturing/index/buildorders`); - await openFilterDrawer(page); - await clickButtonIfVisible(page, 'Clear Filters'); + await clearTableFilters(page); + await page.getByText('1 - 24 / 24').waitFor(); - await page.waitForTimeout(2500); + // Toggle 'Outstanding' filter + await setTableChoiceFilter(page, 'Outstanding', 'Yes'); + await page.getByText('1 - 18 / 18').waitFor(); + await clearTableFilters(page); + await setTableChoiceFilter(page, 'Outstanding', 'No'); + await page.getByText('1 - 6 / 6').waitFor(); + await clearTableFilters(page); + + // Filter by custom status code + await setTableChoiceFilter(page, 'Status', 'Pending Approval'); + + // Single result - navigate through to the build order + await page.getByText('1 - 1 / 1').waitFor(); + await page.getByRole('cell', { name: 'BO0023' }).click(); + + await page.getByText('Pending Approval').first().waitFor(); });