2
0
mirror of https://github.com/inventree/InvenTree.git synced 2025-04-28 03:26:45 +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
No known key found for this signature in database
GPG Key ID: B5690EEEBB952194
18 changed files with 214 additions and 52 deletions

View File

@ -521,6 +521,8 @@ export function ApiForm({
// Standard error handling for other fields
form.setError(path, { message: v.join(', ') });
}
} else if (typeof v === 'string') {
form.setError(path, { message: v });
} else {
processErrors(v, path);
}
@ -529,6 +531,7 @@ export function ApiForm({
processErrors(error.response.data);
setNonFieldErrors(_nonFieldErrors);
break;
default:
// Unexpected state on form error

View File

@ -60,7 +60,9 @@ export default function TextField({
radius="sm"
onChange={(event) => onTextChange(event.currentTarget.value)}
onBlur={(event) => {
if (event.currentTarget.value != value) {
onChange(event.currentTarget.value);
}
}}
onKeyDown={(event) => onKeyDown(event.code)}
rightSection={

View File

@ -83,6 +83,9 @@ export function useStockFields({
part: {
value: part,
disabled: !create,
filters: {
active: create ? true : undefined
},
onValueChange: (value, record) => {
setPart(value);
// TODO: implement remaining functionality from old stock.py

View File

@ -38,6 +38,7 @@ import { PageDetail } from '../../components/nav/PageDetail';
import { PanelType } from '../../components/nav/Panel';
import { PanelGroup } from '../../components/nav/PanelGroup';
import { StatusRenderer } from '../../components/render/StatusRenderer';
import { formatCurrency } from '../../defaults/formatters';
import { ApiEndpoints } from '../../enums/ApiEndpoints';
import { ModelType } from '../../enums/ModelType';
import { UserRoles } from '../../enums/Roles';
@ -179,8 +180,6 @@ export default function StockDetail() {
label: t`Batch Code`,
hidden: !stockitem.batch
}
// TODO: allocated_to_sales_orders
// TODO: allocated_to_build_orders
];
// Bottom left: location information
@ -264,6 +263,34 @@ export default function StockDetail() {
let br: DetailsField[] = [
// TODO: Expiry date
// TODO: Ownership
{
type: 'text',
name: 'purchase_price',
label: t`Unit Price`,
icon: 'currency',
hidden: !stockitem.purchase_price,
value_formatter: () => {
return formatCurrency(stockitem.purchase_price, {
currency: stockitem.purchase_price_currency
});
}
},
{
type: 'text',
name: 'stock_value',
label: t`Stock Value`,
icon: 'currency',
hidden:
!stockitem.purchase_price ||
stockitem.quantity == 1 ||
stockitem.quantity == 0,
value_formatter: () => {
return formatCurrency(stockitem.purchase_price, {
currency: stockitem.purchase_price_currency,
multiplier: stockitem.quantity
});
}
},
{
type: 'text',
name: 'packaging',

View File

@ -1,7 +1,7 @@
import { test } from './baseFixtures.js';
import { doQuickLogin } from './login.js';
test('PUI - Modals as admin', async ({ page }) => {
test('Modals as admin', async ({ page }) => {
await doQuickLogin(page, 'admin', 'inventree');
// use server info

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();

View File

@ -2,7 +2,7 @@ import { expect, test } from './baseFixtures.js';
import { baseUrl, user } from './defaults.js';
import { doLogin, doQuickLogin } from './login.js';
test('PUI - Basic Login Test', async ({ page }) => {
test('Basic Login Test', async ({ page }) => {
await doLogin(page);
// Check that the username is provided
@ -35,7 +35,7 @@ test('PUI - Basic Login Test', async ({ page }) => {
await page.getByLabel('username');
});
test('PUI - Quick Login Test', async ({ page }) => {
test('Quick Login Test', async ({ page }) => {
await doQuickLogin(page);
// Check that the username is provided

View File

@ -2,7 +2,7 @@ import { systemKey, test } from './baseFixtures.js';
import { baseUrl } from './defaults.js';
import { doQuickLogin } from './login.js';
test('PUI - Quick Command', async ({ page }) => {
test('Quick Command', async ({ page }) => {
await doQuickLogin(page);
// Open Spotlight with Keyboard Shortcut
@ -31,7 +31,7 @@ test('PUI - Quick Command', async ({ page }) => {
await page.waitForURL('**/platform/dashboard');
});
test('PUI - Quick Command - No Keys', async ({ page }) => {
test('Quick Command - No Keys', async ({ page }) => {
await doQuickLogin(page);
// Open Spotlight with Button

View File

@ -0,0 +1,127 @@
/** Unit tests for form validation, rendering, etc */
import test from 'playwright/test';
import { baseUrl } from './defaults';
import { doQuickLogin } from './login';
test('Forms - Stock Item Validation', async ({ page }) => {
await doQuickLogin(page, 'steven', 'wizardstaff');
await page.goto(`${baseUrl}/stock/location/index/stock-items`);
await page.waitForURL('**/platform/stock/location/**');
// Create new stock item form
await page.getByLabel('action-button-add-stock-item').click();
await page.getByRole('button', { name: 'Submit' }).click();
// Check for validation errors
await page.getByText('Form Error').waitFor();
await page.getByText('Errors exist for one or more form fields').waitFor();
await page.getByText('Valid part must be supplied').waitFor();
// Adjust other field - the errors should persist
await page.getByLabel('text-field-batch').fill('BATCH-123');
await page.waitForTimeout(250);
await page.getByText('Valid part must be supplied').waitFor();
// Fill out fields
await page.getByLabel('number-field-quantity').fill('-1');
await page.getByLabel('related-field-part').click();
await page.getByRole('option', { name: /1551AGY/ }).click();
await page.getByRole('button', { name: 'Submit' }).click();
// Check for validation errors
await page.getByText('Errors exist for one or more form fields').waitFor();
await page
.getByText(/Ensure this value is greater than or equal to 0/)
.first()
.waitFor();
// Set location
await page.getByLabel('related-field-location').click();
await page.getByRole('option', { name: /Electronics Lab/ }).click();
// Create the stock item
await page.getByLabel('number-field-quantity').fill('123');
await page.getByRole('button', { name: 'Submit' }).click();
// Edit the resulting stock item
await page.getByLabel('action-menu-stock-item-actions').click();
await page.getByLabel('action-menu-stock-item-actions-edit').click();
await page.getByLabel('number-field-purchase_price').fill('-1');
await page.getByRole('button', { name: 'Submit' }).click();
await page.getByText('Errors exist for one or more form fields').waitFor();
await page
.getByText('Ensure this value is greater than or equal to 0')
.waitFor();
// Check the error message still persists after editing a different field
await page.getByLabel('text-field-packaging').fill('a box');
await page.waitForTimeout(250);
await page
.getByText('Ensure this value is greater than or equal to 0')
.waitFor();
// Correct the price
await page.getByLabel('number-field-purchase_price').fill('1.2345');
await page.getByRole('button', { name: 'Submit' }).click();
await page.getByText('Item Updated').waitFor();
// Ensure the stock item has been updated correctly
await page.getByText('$151.8435').waitFor();
await page.getByText('$151.8435').waitFor();
await page.getByText('a box').waitFor();
await page.getByRole('cell', { name: 'Electronics Lab' }).waitFor();
});
test('Forms - Supplier Validation', async ({ page, request }) => {
await doQuickLogin(page, 'steven', 'wizardstaff');
await page.goto(`${baseUrl}/purchasing/index/suppliers`);
await page.waitForURL('**/purchasing/index/**');
await page.getByLabel('action-button-add-company').click();
await page.getByLabel('text-field-website').fill('not-a-website');
await page.getByRole('button', { name: 'Submit' }).click();
// Check for validation errors
await page.getByText('Form Error').waitFor();
await page.getByText('Errors exist for one or more').waitFor();
await page.getByText('This field may not be blank.').waitFor();
await page.getByText('Enter a valid URL.').waitFor();
// Fill out another field, expect that the errors persist
await page.getByLabel('text-field-description').fill('A description');
await page.waitForTimeout(250);
await page.getByText('This field may not be blank.').waitFor();
await page.getByText('Enter a valid URL.').waitFor();
// Generate a unique supplier name
const supplierName = `Supplier ${new Date().getTime()}`;
// Fill with good data
await page
.getByLabel('text-field-website')
.fill('https://www.test-website.co.uk');
await page.getByLabel('text-field-name').fill(supplierName);
await page.getByRole('button', { name: 'Submit' }).click();
await page.getByText(supplierName).waitFor();
await page
.getByRole('link', { name: 'https://www.test-website.co.uk' })
.waitFor();
// Now, try to create another new supplier with the same name
await page.goto(`${baseUrl}/purchasing/index/suppliers`);
await page.waitForURL('**/purchasing/index/**');
await page.getByLabel('action-button-add-company').click();
await page.getByLabel('text-field-name').fill(supplierName);
await page.getByRole('button', { name: 'Submit' }).click();
// Is prevented, due to uniqueness requirements
await page
.getByText('Company with this Company name and Email already exists')
.waitFor();
await page.getByRole('button', { name: 'Cancel' }).click();
});

View File

@ -2,7 +2,7 @@ import { test } from './baseFixtures.js';
import { baseUrl } from './defaults.js';
import { doQuickLogin } from './login.js';
test('PUI - Parts', async ({ page }) => {
test('Parts', async ({ page }) => {
await doQuickLogin(page);
await page.goto(`${baseUrl}/home`);
@ -42,7 +42,7 @@ test('PUI - Parts', async ({ page }) => {
await page.getByRole('tab', { name: 'Build Orders' }).click();
});
test('PUI - Parts - Manufacturer Parts', async ({ page }) => {
test('Parts - Manufacturer Parts', async ({ page }) => {
await doQuickLogin(page);
await page.goto(`${baseUrl}/part/84/manufacturers`);
@ -55,7 +55,7 @@ test('PUI - Parts - Manufacturer Parts', async ({ page }) => {
await page.getByText('1551ACLR - 1551ACLR').waitFor();
});
test('PUI - Parts - Supplier Parts', async ({ page }) => {
test('Parts - Supplier Parts', async ({ page }) => {
await doQuickLogin(page);
await page.goto(`${baseUrl}/part/15/suppliers`);
@ -68,7 +68,7 @@ test('PUI - Parts - Supplier Parts', async ({ page }) => {
await page.getByText('DIG-84670-SJI - R_550R_0805_1%').waitFor();
});
test('PUI - Sales', async ({ page }) => {
test('Sales', async ({ page }) => {
await doQuickLogin(page);
await page.goto(`${baseUrl}/sales/index/`);
@ -119,7 +119,7 @@ test('PUI - Sales', async ({ page }) => {
await page.getByRole('tab', { name: 'Notes' }).click();
});
test('PUI - Scanning', async ({ page }) => {
test('Scanning', async ({ page }) => {
await doQuickLogin(page);
await page.getByLabel('Homenav').click();
@ -140,7 +140,7 @@ test('PUI - Scanning', async ({ page }) => {
await page.getByRole('option', { name: 'Manual input' }).click();
});
test('PUI - Language / Color', async ({ page }) => {
test('Language / Color', async ({ page }) => {
await doQuickLogin(page);
await page.getByRole('button', { name: 'Ally Access' }).click();
@ -174,7 +174,7 @@ test('PUI - Language / Color', async ({ page }) => {
await page.waitForURL('**/platform/dashboard');
});
test('PUI - Company', async ({ page }) => {
test('Company', async ({ page }) => {
await doQuickLogin(page);
await page.goto(`${baseUrl}/company/1/details`);

View File

@ -8,7 +8,7 @@ import { setPluginState } from './settings.js';
* Select a number of stock items from the table,
* and print labels against them
*/
test('PUI - Label Printing', async ({ page }) => {
test('Label Printing', async ({ page }) => {
await doQuickLogin(page);
await page.goto(`${baseUrl}/stock/location/index/`);
@ -52,7 +52,7 @@ test('PUI - Label Printing', async ({ page }) => {
* Navigate to a PurchaseOrder detail page,
* and print a report against it.
*/
test('PUI - Report Printing', async ({ page }) => {
test('Report Printing', async ({ page }) => {
await doQuickLogin(page);
await page.goto(`${baseUrl}/stock/location/index/`);
@ -82,7 +82,7 @@ test('PUI - Report Printing', async ({ page }) => {
await page.context().close();
});
test('PUI - Report Editing', async ({ page, request }) => {
test('Report Editing', async ({ page, request }) => {
const [username, password] = ['admin', 'inventree'];
await doQuickLogin(page, username, password);

View File

@ -3,7 +3,7 @@ import { apiUrl, baseUrl } from './defaults.js';
import { doQuickLogin } from './login.js';
import { setSettingState } from './settings.js';
test('PUI - Admin', async ({ page }) => {
test('Admin', async ({ page }) => {
// Note here we login with admin access
await doQuickLogin(page, 'admin', 'inventree');
@ -86,7 +86,7 @@ test('PUI - Admin', async ({ page }) => {
await page.getByRole('button', { name: 'Submit' }).click();
});
test('PUI - Admin - Barcode History', async ({ page, request }) => {
test('Admin - Barcode History', async ({ page, request }) => {
// Login with admin credentials
await doQuickLogin(page, 'admin', 'inventree');
@ -123,7 +123,7 @@ test('PUI - Admin - Barcode History', async ({ page, request }) => {
});
});
test('PUI - Admin - Unauthorized', async ({ page }) => {
test('Admin - Unauthorized', async ({ page }) => {
// Try to access "admin" page with a non-staff user
await doQuickLogin(page, 'allaccess', 'nolimits');

View File

@ -2,7 +2,7 @@ import { test } from './baseFixtures.js';
import { baseUrl } from './defaults.js';
import { doQuickLogin } from './login.js';
test('PUI - Stock', async ({ page }) => {
test('Stock', async ({ page }) => {
await doQuickLogin(page);
await page.goto(`${baseUrl}/stock/location/index/`);
@ -32,7 +32,7 @@ test('PUI - Stock', async ({ page }) => {
await page.getByRole('tab', { name: 'Installed Items' }).click();
});
test('PUI - Purchasing', async ({ page }) => {
test('Purchasing', async ({ page }) => {
await doQuickLogin(page);
await page.getByRole('tab', { name: 'Purchasing' }).click();
@ -82,7 +82,7 @@ test('PUI - Purchasing', async ({ page }) => {
await page.getByRole('tab', { name: 'Details' }).waitFor();
});
test('PUI - Stock Location Tree', async ({ page }) => {
test('Stock Location Tree', async ({ page }) => {
await doQuickLogin(page);
await page.goto(`${baseUrl}/stock/location/index/`);

View File

@ -20,7 +20,7 @@ const clearFilters = async (page) => {
await page.getByLabel('filter-drawer-close').click();
};
test('PUI - Tables - Filters', async ({ page }) => {
test('Tables - Filters', async ({ page }) => {
await doQuickLogin(page);
// Head to the "build order list" page
@ -50,7 +50,7 @@ test('PUI - Tables - Filters', async ({ page }) => {
await clearFilters(page);
});
test('PUI - Tables - Columns', async ({ page }) => {
test('Tables - Columns', async ({ page }) => {
await doQuickLogin(page);
// Go to the "stock list" page