2
0
mirror of https://github.com/inventree/InvenTree.git synced 2025-11-14 03:46:44 +00:00

[ui] Settings fix (#10239)

* Enhance playwright test

* Update zustand

* Fix machine settings

* Fix for PluginSettingList

* Fix user plugin settings

* Fix issue in RelatedModelField

* Enforce values when rebuilding a form

* Update react-hook-form

* Enhanced playwright testing
This commit is contained in:
Oliver
2025-08-28 16:57:02 +10:00
committed by GitHub
parent ccdd6eace3
commit ae16823d5d
8 changed files with 181 additions and 129 deletions

View File

@@ -33,21 +33,35 @@ test('Machines - Activation', async ({ browser, request }) => {
});
await page.reload();
await page.waitForLoadState('networkidle');
await page.waitForTimeout(1000);
await page.getByRole('button', { name: 'action-button-add-machine' }).click();
await page
.getByRole('textbox', { name: 'text-field-name' })
.fill('my-dummy-machine');
await page
.getByRole('textbox', { name: 'choice-field-machine_type' })
.fill('label');
await page.getByRole('option', { name: 'Label Printer' }).click();
// Create machine config if it does not already exist
const exists: boolean = await page
.getByRole('cell', { name: 'my-dummy-machine' })
.isVisible({ timeout: 250 });
await page.getByRole('textbox', { name: 'choice-field-driver' }).click();
await page
.getByRole('option', { name: 'Sample Label Printer Driver' })
.click();
await page.getByRole('button', { name: 'Submit' }).click();
if (!exists) {
await page
.getByRole('button', { name: 'action-button-add-machine' })
.click();
await page
.getByRole('textbox', { name: 'text-field-name' })
.fill('my-dummy-machine');
await page
.getByRole('textbox', { name: 'choice-field-machine_type' })
.fill('label');
await page.getByRole('option', { name: 'Label Printer' }).click();
await page.getByRole('textbox', { name: 'choice-field-driver' }).click();
await page
.getByRole('option', { name: 'Sample Label Printer Driver' })
.click();
await page.getByRole('button', { name: 'Submit' }).click();
} else {
// Machine already exists - just click on it to open the "machine drawer"
await page.getByRole('cell', { name: 'my-dummy-machine' }).click();
}
// Creating the new machine opens the "machine drawer"
@@ -59,9 +73,14 @@ test('Machines - Activation', async ({ browser, request }) => {
// Edit the available setting
await page.getByRole('button', { name: 'edit-setting-CONNECTION' }).click();
const setting_value = await page
.getByRole('textbox', { name: 'text-field-value' })
.inputValue();
await page
.getByRole('textbox', { name: 'text-field-value' })
.fill('a new value');
.fill(`${setting_value}-2`);
await page.getByRole('button', { name: 'Submit' }).click();
await page.getByText('Setting CONNECTION updated successfully').waitFor();