mirror of
https://github.com/inventree/InvenTree.git
synced 2025-07-05 05:00:58 +00:00
[PUI] Page titles (#8467)
* Add <PageTitle /> component * Use useEffect to override hard-coded value * Ensure page titles are tracked across the site * Adjust unit tests * Playwright test updates * Tweak tests * Update InvenTreeTable.tsx Revert unused change
This commit is contained in:
@ -34,7 +34,7 @@ export const doQuickLogin = async (
|
||||
await page.goto(`${url}/login/?login=${username}&password=${password}`);
|
||||
await page.waitForURL('**/platform/home');
|
||||
|
||||
await page.getByText(/InvenTree Demo Server/).waitFor();
|
||||
await page.getByText(/InvenTree Demo Server -/).waitFor();
|
||||
};
|
||||
|
||||
export const doLogout = async (page) => {
|
||||
|
@ -100,14 +100,12 @@ test('Parts - Allocations', async ({ page }) => {
|
||||
await doQuickLogin(page);
|
||||
|
||||
// Let's look at the allocations for a single stock item
|
||||
await page.goto(`${baseUrl}/stock/item/324/`);
|
||||
await page.getByRole('tab', { name: 'Allocations' }).click();
|
||||
|
||||
// TODO: Un-comment these lines!
|
||||
// await page.goto(`${baseUrl}/stock/item/324/`);
|
||||
// await page.getByRole('tab', { name: 'Allocations' }).click();
|
||||
|
||||
// await page.getByRole('button', { name: 'Build Order Allocations' }).waitFor();
|
||||
// await page.getByRole('cell', { name: 'Making some blue chairs' }).waitFor();
|
||||
// await page.getByRole('cell', { name: 'Making tables for SO 0003' }).waitFor();
|
||||
await page.getByRole('button', { name: 'Build Order Allocations' }).waitFor();
|
||||
await page.getByRole('cell', { name: 'Making some blue chairs' }).waitFor();
|
||||
await page.getByRole('cell', { name: 'Making tables for SO 0003' }).waitFor();
|
||||
|
||||
// Let's look at the allocations for an entire part
|
||||
await page.goto(`${baseUrl}/part/74/details`);
|
||||
@ -172,7 +170,8 @@ test('Parts - Pricing (Nothing, BOM)', async ({ page }) => {
|
||||
|
||||
// Part with no history
|
||||
await page.goto(`${baseUrl}/part/82/pricing`);
|
||||
await page.getByText('1551ABK').waitFor();
|
||||
|
||||
await page.getByText('Small plastic enclosure, black').waitFor();
|
||||
await page.getByRole('tab', { name: 'Part Pricing' }).click();
|
||||
await page.getByLabel('Part Pricing').getByText('Part Pricing').waitFor();
|
||||
await page.getByRole('button', { name: 'Pricing Overview' }).waitFor();
|
||||
@ -183,7 +182,7 @@ test('Parts - Pricing (Nothing, BOM)', async ({ page }) => {
|
||||
|
||||
// Part with history
|
||||
await page.goto(`${baseUrl}/part/108/pricing`);
|
||||
await page.getByText('Part: Blue Chair').waitFor();
|
||||
await page.getByText('A chair - with blue paint').waitFor();
|
||||
await page.getByRole('tab', { name: 'Part Pricing' }).click();
|
||||
await page.getByLabel('Part Pricing').getByText('Part Pricing').waitFor();
|
||||
await page.getByRole('button', { name: 'Pricing Overview' }).waitFor();
|
||||
@ -221,7 +220,7 @@ test('Parts - Pricing (Supplier)', async ({ page }) => {
|
||||
|
||||
// Part
|
||||
await page.goto(`${baseUrl}/part/55/pricing`);
|
||||
await page.getByText('Part: C_100nF_0603').waitFor();
|
||||
await page.getByText('Ceramic capacitor, 100nF in').waitFor();
|
||||
await page.getByRole('tab', { name: 'Part Pricing' }).click();
|
||||
await page.getByLabel('Part Pricing').getByText('Part Pricing').waitFor();
|
||||
await page.getByRole('button', { name: 'Pricing Overview' }).waitFor();
|
||||
@ -247,7 +246,7 @@ test('Parts - Pricing (Variant)', async ({ page }) => {
|
||||
|
||||
// Part
|
||||
await page.goto(`${baseUrl}/part/106/pricing`);
|
||||
await page.getByText('Part: Chair').waitFor();
|
||||
await page.getByText('A chair - available in multiple colors').waitFor();
|
||||
await page.getByRole('tab', { name: 'Part Pricing' }).click();
|
||||
await page.getByLabel('Part Pricing').getByText('Part Pricing').waitFor();
|
||||
await page.getByRole('button', { name: 'Pricing Overview' }).waitFor();
|
||||
@ -273,7 +272,7 @@ test('Parts - Pricing (Internal)', async ({ page }) => {
|
||||
|
||||
// Part
|
||||
await page.goto(`${baseUrl}/part/65/pricing`);
|
||||
await page.getByText('Part: M2x4 SHCS').waitFor();
|
||||
await page.getByText('Socket head cap screw, M2').waitFor();
|
||||
await page.getByRole('tab', { name: 'Part Pricing' }).click();
|
||||
await page.getByLabel('Part Pricing').getByText('Part Pricing').waitFor();
|
||||
await page.getByRole('button', { name: 'Pricing Overview' }).waitFor();
|
||||
@ -298,7 +297,7 @@ test('Parts - Pricing (Purchase)', async ({ page }) => {
|
||||
|
||||
// Part
|
||||
await page.goto(`${baseUrl}/part/69/pricing`);
|
||||
await page.getByText('Part: 530470210').waitFor();
|
||||
await page.getByText('1.25mm Pitch, PicoBlade PCB').waitFor();
|
||||
await page.getByRole('tab', { name: 'Part Pricing' }).click();
|
||||
await page.getByLabel('Part Pricing').getByText('Part Pricing').waitFor();
|
||||
await page.getByRole('button', { name: 'Pricing Overview' }).waitFor();
|
||||
|
@ -18,7 +18,7 @@ test('Sales Orders', async ({ page }) => {
|
||||
await page.getByRole('cell', { name: 'SO0003' }).click();
|
||||
|
||||
// Order is "on hold". We will "issue" it and then place on hold again
|
||||
await page.getByText('Sales Order: SO0003').waitFor();
|
||||
await page.getByText('Selling stuff').first().waitFor();
|
||||
await page.getByText('On Hold').first().waitFor();
|
||||
await page.getByRole('button', { name: 'Issue Order' }).click();
|
||||
await page.getByRole('button', { name: 'Submit' }).click();
|
||||
|
@ -14,7 +14,7 @@ test('Basic Login Test', async ({ page }) => {
|
||||
await page.goto(baseUrl);
|
||||
await page.waitForURL('**/platform');
|
||||
|
||||
await page.getByText('InvenTree Demo Server').waitFor();
|
||||
await page.getByText('InvenTree Demo Server -').waitFor();
|
||||
|
||||
// Check that the username is provided
|
||||
await page.getByText(user.username);
|
||||
@ -45,7 +45,7 @@ test('Quick Login Test', async ({ page }) => {
|
||||
await page.goto(baseUrl);
|
||||
await page.waitForURL('**/platform');
|
||||
|
||||
await page.getByText('InvenTree Demo Server').waitFor();
|
||||
await page.getByText('InvenTree Demo Server - ').waitFor();
|
||||
|
||||
// Logout (via URL)
|
||||
await page.goto(`${baseUrl}/logout/`);
|
||||
|
@ -22,7 +22,7 @@ test('Quick Command - No Keys', async ({ page }) => {
|
||||
.getByRole('button', { name: 'Dashboard Go to the InvenTree' })
|
||||
.click();
|
||||
|
||||
await page.getByText('InvenTree Demo Server').waitFor();
|
||||
await page.getByText('InvenTree Demo Server - ').waitFor();
|
||||
await page.waitForURL('**/platform/home');
|
||||
|
||||
// Use navigation menu
|
||||
|
@ -107,7 +107,7 @@ test('Forms - Supplier Validation', async ({ page, request }) => {
|
||||
await page.getByLabel('text-field-name').fill(supplierName);
|
||||
await page.getByRole('button', { name: 'Submit' }).click();
|
||||
|
||||
await page.getByText(supplierName).waitFor();
|
||||
await page.getByText('A description').first().waitFor();
|
||||
await page
|
||||
.getByRole('link', { name: 'https://www.test-website.co.uk' })
|
||||
.waitFor();
|
||||
|
Reference in New Issue
Block a user