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

UI cleanup (#9140)

* Refactor SecurityContext page:

- Add Accordion to separate different groups
- Fix "make primary" button (requires PATCH)
- Responsive grid design

* Add splash screen background to more pages

* Adds playwright testing for email setup

* Refactoring

* Fix playwright tests
This commit is contained in:
Oliver
2025-02-22 17:13:12 +11:00
committed by GitHub
parent 44cca7ddf2
commit e447e4037b
16 changed files with 517 additions and 430 deletions

View File

@@ -2,6 +2,7 @@ import { test } from '../baseFixtures.ts';
import {
clearTableFilters,
globalSearch,
loadTab,
navigate,
setTableChoiceFilter
} from '../helpers.ts';
@@ -13,27 +14,27 @@ test('Sales Orders - Tabs', async ({ page }) => {
await navigate(page, 'sales/index/');
await page.waitForURL('**/platform/sales/**');
await page.getByRole('tab', { name: 'Sales Orders' }).click();
await loadTab(page, 'Sales Orders');
await page.waitForURL('**/platform/sales/index/salesorders');
await page.getByRole('tab', { name: 'Return Orders' }).click();
await loadTab(page, 'Return Orders');
// Customers
await page.getByRole('tab', { name: 'Customers' }).click();
await loadTab(page, 'Customers');
await page.getByText('Customer A').click();
await page.getByRole('tab', { name: 'Notes' }).click();
await page.getByRole('tab', { name: 'Attachments' }).click();
await page.getByRole('tab', { name: 'Contacts' }).click();
await page.getByRole('tab', { name: 'Assigned Stock' }).click();
await page.getByRole('tab', { name: 'Return Orders' }).click();
await page.getByRole('tab', { name: 'Sales Orders' }).click();
await page.getByRole('tab', { name: 'Contacts' }).click();
await loadTab(page, 'Notes');
await loadTab(page, 'Attachments');
await loadTab(page, 'Contacts');
await loadTab(page, 'Assigned Stock');
await loadTab(page, 'Return Orders');
await loadTab(page, 'Sales Orders');
await loadTab(page, 'Contacts');
await page.getByRole('cell', { name: 'Dorathy Gross' }).waitFor();
await page
.getByRole('row', { name: 'Dorathy Gross dorathy.gross@customer.com' })
.waitFor();
// Sales Order Details
await page.getByRole('tab', { name: 'Sales Orders' }).click();
await loadTab(page, 'Sales Orders');
await clearTableFilters(page);
@@ -42,30 +43,30 @@ test('Sales Orders - Tabs', async ({ page }) => {
.getByLabel('Order Details')
.getByText('Selling some stuff')
.waitFor();
await page.getByRole('tab', { name: 'Line Items' }).click();
await page.getByRole('tab', { name: 'Shipments' }).click();
await page.getByRole('tab', { name: 'Build Orders' }).click();
await loadTab(page, 'Line Items');
await loadTab(page, 'Shipments');
await loadTab(page, 'Build Orders');
await page.getByText('No records found').first().waitFor();
await page.getByRole('tab', { name: 'Attachments' }).click();
await loadTab(page, 'Attachments');
await page.getByText('No attachments found').first().waitFor();
await page.getByRole('tab', { name: 'Notes' }).click();
await page.getByRole('tab', { name: 'Order Details' }).click();
await loadTab(page, 'Notes');
await loadTab(page, 'Order Details');
// Return Order Details
await page.getByRole('link', { name: 'Customer A' }).click();
await page.getByRole('tab', { name: 'Return Orders' }).click();
await loadTab(page, 'Return Orders');
await page.getByRole('cell', { name: 'RMA-' }).click();
await page.getByText('RMA-0001', { exact: true }).waitFor();
await page.getByRole('tab', { name: 'Line Items' }).click();
await page.getByRole('tab', { name: 'Attachments' }).click();
await page.getByRole('tab', { name: 'Notes' }).click();
await loadTab(page, 'Line Items');
await loadTab(page, 'Attachments');
await loadTab(page, 'Notes');
});
test('Sales Orders - Basic Tests', async ({ page }) => {
await doQuickLogin(page);
await page.getByRole('tab', { name: 'Sales' }).click();
await page.getByRole('tab', { name: 'Sales Orders' }).click();
await loadTab(page, 'Sales Orders');
await clearTableFilters(page);
@@ -104,12 +105,12 @@ test('Sales Orders - Shipments', async ({ page }) => {
await doQuickLogin(page);
await page.getByRole('tab', { name: 'Sales' }).click();
await page.getByRole('tab', { name: 'Sales Orders' }).click();
await loadTab(page, 'Sales Orders');
await clearTableFilters(page);
// Click through to a particular sales order
await page.getByRole('cell', { name: 'SO0006' }).first().click();
await page.getByRole('tab', { name: 'Shipments' }).click();
await loadTab(page, 'Shipments');
// Create a new shipment
await page.getByLabel('action-button-add-shipment').click();
@@ -155,14 +156,14 @@ test('Sales Orders - Shipments', async ({ page }) => {
await page.getByRole('menuitem', { name: 'View Shipment' }).click();
// Click through the various tabs
await page.getByRole('tab', { name: 'Attachments' }).click();
await page.getByRole('tab', { name: 'Notes' }).click();
await page.getByRole('tab', { name: 'Allocated Stock' }).click();
await loadTab(page, 'Attachments');
await loadTab(page, 'Notes');
await loadTab(page, 'Allocated Stock');
// Ensure assigned items table loads correctly
await page.getByRole('cell', { name: 'BATCH-001' }).first().waitFor();
await page.getByRole('tab', { name: 'Shipment Details' }).click();
await loadTab(page, 'Shipment Details');
// The "new" tracking number should be visible
await page.getByText(tracking_number).waitFor();
@@ -171,7 +172,7 @@ test('Sales Orders - Shipments', async ({ page }) => {
await page.getByRole('link', { name: 'SO0006' }).click();
// Let's try to allocate some stock
await page.getByRole('tab', { name: 'Line Items' }).click();
await loadTab(page, 'Line Items');
await page.getByLabel('row-action-menu-1').click();
await page.getByRole('menuitem', { name: 'Allocate stock' }).click();
await page