[PUI] Bug fix for API forms (#7758)

* [PUI] Bug fix for API forms

- Ensure that "blank" data does not get overriden with previous fields
- Better logic for form data fetching

* Playwright test fixes
This commit is contained in:
Oliver 2024-07-31 15:49:11 +10:00 committed by GitHub
parent c8870c4ade
commit f7323d1e50
No known key found for this signature in database
GPG Key ID: B5690EEEBB952194
4 changed files with 10 additions and 7 deletions

View File

@ -309,17 +309,17 @@ export function ApiForm({
for (const k of Object.keys(_fields)) {
// Ensure default values override initial field spec
if (defaultValues[k]) {
if (k in defaultValues) {
_fields[k].value = defaultValues[k];
}
// Ensure initial data overrides default values
if (_initialData && _initialData[k]) {
if (_initialData && k in _initialData) {
_fields[k].value = _initialData[k];
}
// Ensure fetched data overrides also
if (_fetchedData && _fetchedData[k]) {
if (_fetchedData && k in _fetchedData) {
_fields[k].value = _fetchedData[k];
}
}

View File

@ -38,8 +38,8 @@ test('PUI - Pages - Index - Scan (Stockitem)', async ({ page }) => {
// stockitem: 408
await page.getByText('1551ABK').waitFor();
await page.getByText('Quantity: 145').waitFor();
await page.getByRole('cell', { name: 'Quantity: 145' }).waitFor();
await page.getByText('Quantity: 100').waitFor();
await page.getByRole('cell', { name: 'Quantity: 100' }).waitFor();
});
test('PUI - Pages - Index - Scan (StockLocation)', async ({ page }) => {

View File

@ -188,7 +188,10 @@ test('PUI - Company', async ({ page }) => {
await page.getByRole('tab', { name: 'Purchase Orders' }).click();
await page.getByRole('cell', { name: 'Molex connectors' }).first().waitFor();
await page.getByRole('tab', { name: 'Stock Items' }).click();
await page.getByRole('cell', { name: 'Blue plastic enclosure' }).waitFor();
await page
.getByRole('cell', { name: 'Blue plastic enclosure' })
.first()
.waitFor();
await page.getByRole('tab', { name: 'Contacts' }).click();
await page.getByRole('cell', { name: 'jimmy.mcleod@digikey.com' }).waitFor();
await page.getByRole('tab', { name: 'Addresses' }).click();

View File

@ -12,7 +12,7 @@ test('PUI - Stock', async ({ page }) => {
await page.waitForURL('**/platform/stock/location/index/details');
await page.getByRole('tab', { name: 'Stock Items' }).click();
await page.getByRole('cell', { name: '1551ABK' }).click();
await page.getByText('1551ABK').first().click();
await page.getByRole('tab', { name: 'Stock', exact: true }).click();
await page.waitForURL('**/platform/stock/**');