2
0
mirror of https://github.com/inventree/InvenTree.git synced 2025-06-27 01:00:53 +00:00

[PUI] Form error fix (#8204)

* Handle simple string error message

* Add playwright test for form validation

* Render stock unit price / total value

* Fix for TextField:

- Prevent unnecessary value change
- This was removing the field error

* Add playwright test for supplier form validation
This commit is contained in:
Oliver
2024-09-28 13:33:31 +10:00
committed by GitHub
parent e6470ffdea
commit 390fec3ab1
18 changed files with 214 additions and 52 deletions

View File

@ -2,7 +2,7 @@ import { test } from '../baseFixtures.ts';
import { baseUrl } from '../defaults.ts';
import { doQuickLogin } from '../login.ts';
test('PUI - Pages - Build Order', async ({ page }) => {
test('Pages - Build Order', async ({ page }) => {
await doQuickLogin(page);
await page.goto(`${baseUrl}/part/`);
@ -82,7 +82,7 @@ test('PUI - Pages - Build Order', async ({ page }) => {
.waitFor();
});
test('PUI - Pages - Build Order - Build Outputs', async ({ page }) => {
test('Pages - Build Order - Build Outputs', async ({ page }) => {
await doQuickLogin(page);
await page.goto(`${baseUrl}/part/`);

View File

@ -3,7 +3,7 @@ import { doQuickLogin } from '../login.js';
const newPartName = 'UITESTIN123';
test('PUI - Pages - Index - Playground', async ({ page }) => {
test('Pages - Index - Playground', async ({ page }) => {
await doQuickLogin(page);
await page.goto('./');
@ -72,7 +72,7 @@ test('PUI - Pages - Index - Playground', async ({ page }) => {
await page.getByText('Attention needed').waitFor();
});
test('PUI - Pages - Index - Dashboard', async ({ page }) => {
test('Pages - Index - Dashboard', async ({ page }) => {
await doQuickLogin(page);
// Dashboard auto update

View File

@ -2,7 +2,7 @@ import { test } from '../baseFixtures.ts';
import { baseUrl } from '../defaults.ts';
import { doQuickLogin } from '../login.ts';
test('PUI - Sales Orders', async ({ page }) => {
test('Sales Orders', async ({ page }) => {
await doQuickLogin(page);
await page.goto(`${baseUrl}/home`);
@ -41,7 +41,7 @@ test('PUI - Sales Orders', async ({ page }) => {
await page.getByRole('button', { name: 'Issue Order' }).waitFor();
});
test('PUI - Purchase Orders', async ({ page }) => {
test('Purchase Orders', async ({ page }) => {
await doQuickLogin(page);
await page.goto(`${baseUrl}/home`);
@ -61,7 +61,7 @@ test('PUI - Purchase Orders', async ({ page }) => {
await page.getByRole('button', { name: 'Issue Order' }).waitFor();
});
test('PUI - Purchase Orders - Barcodes', async ({ page }) => {
test('Purchase Orders - Barcodes', async ({ page }) => {
await doQuickLogin(page);
await page.goto(`${baseUrl}/purchasing/purchase-order/13/detail`);

View File

@ -2,7 +2,7 @@ import { test } from '../baseFixtures';
import { baseUrl } from '../defaults';
import { doQuickLogin } from '../login';
test('PUI - Pages - Part - Locking', async ({ page }) => {
test('Pages - Part - Locking', async ({ page }) => {
await doQuickLogin(page);
// Navigate to a known assembly which is *not* locked
@ -23,7 +23,7 @@ test('PUI - Pages - Part - Locking', async ({ page }) => {
await page.getByText('Part parameters cannot be').waitFor();
});
test('PUI - Pages - Part - Pricing (Nothing, BOM)', async ({ page }) => {
test('Pages - Part - Pricing (Nothing, BOM)', async ({ page }) => {
await doQuickLogin(page);
// Part with no history
@ -72,7 +72,7 @@ test('PUI - Pages - Part - Pricing (Nothing, BOM)', async ({ page }) => {
await page.waitForURL('**/part/98/**');
});
test('PUI - Pages - Part - Pricing (Supplier)', async ({ page }) => {
test('Pages - Part - Pricing (Supplier)', async ({ page }) => {
await doQuickLogin(page);
// Part
@ -98,7 +98,7 @@ test('PUI - Pages - Part - Pricing (Supplier)', async ({ page }) => {
// await page.waitForURL('**/purchasing/supplier-part/697/');
});
test('PUI - Pages - Part - Pricing (Variant)', async ({ page }) => {
test('Pages - Part - Pricing (Variant)', async ({ page }) => {
await doQuickLogin(page);
// Part
@ -124,7 +124,7 @@ test('PUI - Pages - Part - Pricing (Variant)', async ({ page }) => {
await page.waitForURL('**/part/109/**');
});
test('PUI - Pages - Part - Pricing (Internal)', async ({ page }) => {
test('Pages - Part - Pricing (Internal)', async ({ page }) => {
await doQuickLogin(page);
// Part
@ -149,7 +149,7 @@ test('PUI - Pages - Part - Pricing (Internal)', async ({ page }) => {
await page.getByText('Part *M2x4 SHCSSocket head').click();
});
test('PUI - Pages - Part - Pricing (Purchase)', async ({ page }) => {
test('Pages - Part - Pricing (Purchase)', async ({ page }) => {
await doQuickLogin(page);
// Part
@ -171,7 +171,7 @@ test('PUI - Pages - Part - Pricing (Purchase)', async ({ page }) => {
await page.getByText('2022-04-29').waitFor();
});
test('PUI - Pages - Part - Attachments', async ({ page }) => {
test('Pages - Part - Attachments', async ({ page }) => {
await doQuickLogin(page);
await page.goto(`${baseUrl}/part/69/attachments`);
@ -193,7 +193,7 @@ test('PUI - Pages - Part - Attachments', async ({ page }) => {
await page.getByRole('button', { name: 'Cancel' }).click();
});
test('PUI - Pages - Part - Parameters', async ({ page }) => {
test('Pages - Part - Parameters', async ({ page }) => {
await doQuickLogin(page);
await page.goto(`${baseUrl}/part/69/parameters`);
@ -220,7 +220,7 @@ test('PUI - Pages - Part - Parameters', async ({ page }) => {
await page.getByRole('button', { name: 'Cancel' }).click();
});
test('PUI - Pages - Part - Notes', async ({ page }) => {
test('Pages - Part - Notes', async ({ page }) => {
await doQuickLogin(page);
await page.goto(`${baseUrl}/part/69/notes`);
@ -241,7 +241,7 @@ test('PUI - Pages - Part - Notes', async ({ page }) => {
await page.getByLabel('Save Notes').waitFor();
});
test('PUI - Pages - Part - 404', async ({ page }) => {
test('Pages - Part - 404', async ({ page }) => {
await doQuickLogin(page);
await page.goto(`${baseUrl}/part/99999/`);
@ -251,7 +251,7 @@ test('PUI - Pages - Part - 404', async ({ page }) => {
await page.evaluate(() => console.clear());
});
test('PUI - Pages - Part - Revision', async ({ page }) => {
test('Pages - Part - Revision', async ({ page }) => {
await doQuickLogin(page);
await page.goto(`${baseUrl}/part/906/details`);

View File

@ -24,7 +24,7 @@ async function defaultScanTest(page, search_text) {
await page.getByRole('button', { name: 'Lookup part' }).click();
}
test('PUI - Pages - Index - Scan (Part)', async ({ page }) => {
test('Pages - Index - Scan (Part)', async ({ page }) => {
await defaultScanTest(page, '{"part": 1}');
// part: 1
@ -33,7 +33,7 @@ test('PUI - Pages - Index - Scan (Part)', async ({ page }) => {
await page.getByRole('cell', { name: 'part' }).waitFor();
});
test('PUI - Pages - Index - Scan (Stockitem)', async ({ page }) => {
test('Pages - Index - Scan (Stockitem)', async ({ page }) => {
await defaultScanTest(page, '{"stockitem": 408}');
// stockitem: 408
@ -42,7 +42,7 @@ test('PUI - Pages - Index - Scan (Stockitem)', async ({ page }) => {
await page.getByRole('cell', { name: 'Quantity: 100' }).waitFor();
});
test('PUI - Pages - Index - Scan (StockLocation)', async ({ page }) => {
test('Pages - Index - Scan (StockLocation)', async ({ page }) => {
await defaultScanTest(page, '{"stocklocation": 3}');
// stocklocation: 3
@ -51,7 +51,7 @@ test('PUI - Pages - Index - Scan (StockLocation)', async ({ page }) => {
await page.getByRole('cell', { name: 'stocklocation' }).waitFor();
});
test('PUI - Pages - Index - Scan (SupplierPart)', async ({ page }) => {
test('Pages - Index - Scan (SupplierPart)', async ({ page }) => {
await defaultScanTest(page, '{"supplierpart": 204}');
// supplierpart: 204
@ -60,7 +60,7 @@ test('PUI - Pages - Index - Scan (SupplierPart)', async ({ page }) => {
await page.getByRole('cell', { name: 'supplierpart' }).waitFor();
});
test('PUI - Pages - Index - Scan (PurchaseOrder)', async ({ page }) => {
test('Pages - Index - Scan (PurchaseOrder)', async ({ page }) => {
await defaultScanTest(page, '{"purchaseorder": 12}');
// purchaseorder: 12
@ -69,7 +69,7 @@ test('PUI - Pages - Index - Scan (PurchaseOrder)', async ({ page }) => {
await page.getByRole('cell', { name: 'purchaseorder' }).waitFor();
});
test('PUI - Pages - Index - Scan (SalesOrder)', async ({ page }) => {
test('Pages - Index - Scan (SalesOrder)', async ({ page }) => {
await defaultScanTest(page, '{"salesorder": 6}');
// salesorder: 6
@ -78,7 +78,7 @@ test('PUI - Pages - Index - Scan (SalesOrder)', async ({ page }) => {
await page.getByRole('cell', { name: 'salesorder' }).waitFor();
});
test('PUI - Pages - Index - Scan (Build)', async ({ page }) => {
test('Pages - Index - Scan (Build)', async ({ page }) => {
await defaultScanTest(page, '{"build": 8}');
// build: 8
@ -87,7 +87,7 @@ test('PUI - Pages - Index - Scan (Build)', async ({ page }) => {
await page.getByRole('cell', { name: 'build', exact: true }).waitFor();
});
test('PUI - Pages - Index - Scan (General)', async ({ page }) => {
test('Pages - Index - Scan (General)', async ({ page }) => {
await defaultScanTest(page, '{"unknown": 312}');
await page.getByText('"unknown": 312').waitFor();