2
0
mirror of https://github.com/inventree/InvenTree.git synced 2025-09-14 22:51:30 +00:00

Build start date (#8915)

* Add 'start_date' to Build model

* Add to serializer

* Add filtering and ordering

* Update BuildOrderTable

- Add new column
- Add new filtering options

* Add sanity check for start_date

* Add 'start_date' field to BuildOrder form

* Update docs

* Bump API version

* Tweak unit testing

* Display 'start_date' on build page

* Refactor UI tests

* Fix for 'date' field in forms

* Add additional unit tests

* Fix helper func

* Remove debug msg
This commit is contained in:
Oliver
2025-01-21 00:37:23 +11:00
committed by GitHub
parent 87ccf52562
commit 7ad49949c8
14 changed files with 169 additions and 45 deletions

View File

@@ -1,51 +1,38 @@
import { test } from './baseFixtures.js';
import { baseUrl } from './defaults.js';
import {
clearTableFilters,
closeFilterDrawer,
openFilterDrawer
} from './helpers.js';
import { clearTableFilters, setTableChoiceFilter } from './helpers.js';
import { doQuickLogin } from './login.js';
// Helper function to set the value of a specific table filter
const setFilter = async (page, name: string, value: string) => {
await openFilterDrawer(page);
await page.getByRole('button', { name: 'Add Filter' }).click();
await page.getByPlaceholder('Select filter').click();
await page.getByRole('option', { name: name, exact: true }).click();
await page.getByPlaceholder('Select filter value').click();
await page.getByRole('option', { name: value, exact: true }).click();
await closeFilterDrawer(page);
};
test('Tables - Filters', async ({ page }) => {
await doQuickLogin(page);
// Head to the "build order list" page
await page.goto(`${baseUrl}/manufacturing/index/`);
await setFilter(page, 'Status', 'Complete');
await setFilter(page, 'Responsible', 'allaccess');
await setFilter(page, 'Project Code', 'PRJ-NIM');
await clearTableFilters(page);
await setTableChoiceFilter(page, 'Status', 'Complete');
await setTableChoiceFilter(page, 'Responsible', 'allaccess');
await setTableChoiceFilter(page, 'Project Code', 'PRJ-NIM');
await clearTableFilters(page);
// Head to the "part list" page
await page.goto(`${baseUrl}/part/category/index/parts/`);
await setFilter(page, 'Assembly', 'Yes');
await setTableChoiceFilter(page, 'Assembly', 'Yes');
await clearTableFilters(page);
// Head to the "purchase order list" page
await page.goto(`${baseUrl}/purchasing/index/purchaseorders/`);
await setFilter(page, 'Status', 'Complete');
await setFilter(page, 'Responsible', 'readers');
await setFilter(page, 'Assigned to me', 'No');
await setFilter(page, 'Project Code', 'PRO-ZEN');
await clearTableFilters(page);
await setTableChoiceFilter(page, 'Status', 'Complete');
await setTableChoiceFilter(page, 'Responsible', 'readers');
await setTableChoiceFilter(page, 'Assigned to me', 'No');
await setTableChoiceFilter(page, 'Project Code', 'PRO-ZEN');
await clearTableFilters(page);
});