mirror of
https://github.com/inventree/InvenTree.git
synced 2025-08-03 02:21:34 +00:00
[bug] Part param edit (#10059)
* Fix for BooleanField - Ensure that an "undefined" value reads "false" by default * Tweak part parameter form * Enhanced playwright tests * Better boolean field management * Update src/frontend/src/forms/PartForms.tsx Co-authored-by: Copilot <175728472+Copilot@users.noreply.github.com> * Update src/frontend/src/components/forms/ApiForm.tsx Co-authored-by: Copilot <175728472+Copilot@users.noreply.github.com> --------- Co-authored-by: Copilot <175728472+Copilot@users.noreply.github.com>
This commit is contained in:
@@ -463,14 +463,41 @@ test('Parts - Parameters', async ({ browser }) => {
|
||||
// Select the "polarized" parameter template (should create a "checkbox" field)
|
||||
await page.getByLabel('related-field-template').fill('Polarized');
|
||||
await page.getByText('Is this part polarized?').click();
|
||||
|
||||
// Submit with "false" value
|
||||
await page.getByRole('button', { name: 'Submit' }).click();
|
||||
|
||||
// Check for the expected values in the table
|
||||
let row = await getRowFromCell(
|
||||
await page.getByRole('cell', { name: 'Polarized', exact: true })
|
||||
);
|
||||
await row.getByRole('cell', { name: 'No', exact: true }).waitFor();
|
||||
await row.getByRole('cell', { name: 'allaccess' }).waitFor();
|
||||
await row.getByLabel(/row-action-menu-/i).click();
|
||||
await page.getByRole('menuitem', { name: 'Edit' }).click();
|
||||
|
||||
// Toggle false to true
|
||||
await page
|
||||
.locator('label')
|
||||
.filter({ hasText: 'DataParameter Value' })
|
||||
.locator('div')
|
||||
.first()
|
||||
.click();
|
||||
await page.getByRole('button', { name: 'Submit' }).click();
|
||||
|
||||
await page.getByRole('button', { name: 'Cancel' }).click();
|
||||
row = await getRowFromCell(
|
||||
await page.getByRole('cell', { name: 'Polarized', exact: true })
|
||||
);
|
||||
await row.getByRole('cell', { name: 'Yes', exact: true }).waitFor();
|
||||
|
||||
await page.getByText('1 - 1 / 1').waitFor();
|
||||
|
||||
// Finally, delete the parameter
|
||||
await row.getByLabel(/row-action-menu-/i).click();
|
||||
await page.getByRole('menuitem', { name: 'Delete' }).click();
|
||||
await page.getByRole('button', { name: 'Delete' }).click();
|
||||
|
||||
await page.getByText('No records found').first().waitFor();
|
||||
});
|
||||
|
||||
test('Parts - Parameter Filtering', async ({ browser }) => {
|
||||
|
Reference in New Issue
Block a user