diff --git a/src/frontend/src/pages/part/PartPricingPanel.tsx b/src/frontend/src/pages/part/PartPricingPanel.tsx
index 85b9c0e279..49dc8a9c5c 100644
--- a/src/frontend/src/pages/part/PartPricingPanel.tsx
+++ b/src/frontend/src/pages/part/PartPricingPanel.tsx
@@ -106,9 +106,6 @@ export default function PartPricingPanel({ part }: Readonly<{ part: any }>) {
label={panelOptions.internal}
title={t`Internal Pricing`}
visible={internalPricing}
- disabled={
- !pricing?.internal_cost_min || !pricing?.internal_cost_max
- }
/>
}
@@ -143,7 +140,6 @@ export default function PartPricingPanel({ part }: Readonly<{ part: any }>) {
label={panelOptions.sale_pricing}
title={t`Sale Pricing`}
visible={salesOrderPricing}
- disabled={!pricing?.sale_price_min || !pricing?.sale_price_max}
/>
}
diff --git a/src/frontend/src/pages/part/pricing/PricingOverviewPanel.tsx b/src/frontend/src/pages/part/pricing/PricingOverviewPanel.tsx
index 04e014fefc..db41175b4a 100644
--- a/src/frontend/src/pages/part/pricing/PricingOverviewPanel.tsx
+++ b/src/frontend/src/pages/part/pricing/PricingOverviewPanel.tsx
@@ -168,6 +168,20 @@ export default function PricingOverviewPanel({
const overviewData: PricingOverviewEntry[] = useMemo(() => {
return [
+ {
+ name: panelOptions.override,
+ title: t`Override Pricing`,
+ icon: ,
+ min_value: pricing?.override_min,
+ max_value: pricing?.override_max
+ },
+ {
+ name: panelOptions.overall,
+ title: t`Overall Pricing`,
+ icon: ,
+ min_value: pricing?.overall_min,
+ max_value: pricing?.overall_max
+ },
{
name: panelOptions.internal,
title: t`Internal Pricing`,
@@ -216,20 +230,6 @@ export default function PricingOverviewPanel({
icon: ,
min_value: pricing?.sale_history_min,
max_value: pricing?.sale_history_max
- },
- {
- name: panelOptions.override,
- title: t`Override Pricing`,
- icon: ,
- min_value: pricing?.override_min,
- max_value: pricing?.override_max
- },
- {
- name: panelOptions.overall,
- title: t`Overall Pricing`,
- icon: ,
- min_value: pricing?.overall_min,
- max_value: pricing?.overall_max
}
].filter((entry) => {
return !(entry.min_value == null || entry.max_value == null);
diff --git a/src/frontend/tests/login.ts b/src/frontend/tests/login.ts
index 8f81e059e2..02c22cfe97 100644
--- a/src/frontend/tests/login.ts
+++ b/src/frontend/tests/login.ts
@@ -36,6 +36,10 @@ export const doQuickLogin = async (
await page.getByLabel('navigation-menu').waitFor();
await page.getByText(/InvenTree Demo Server -/).waitFor();
+
+ // Wait for the dashboard to load
+ await page.getByText('No widgets selected').waitFor();
+ await page.waitForTimeout(250);
};
export const doLogout = async (page) => {
diff --git a/src/frontend/tests/pages/pui_part.spec.ts b/src/frontend/tests/pages/pui_part.spec.ts
index fc9fbd12cd..09e2fcee7c 100644
--- a/src/frontend/tests/pages/pui_part.spec.ts
+++ b/src/frontend/tests/pages/pui_part.spec.ts
@@ -1,6 +1,6 @@
import { test } from '../baseFixtures';
import { baseUrl } from '../defaults';
-import { getRowFromCell } from '../helpers';
+import { clearTableFilters, getRowFromCell } from '../helpers';
import { doQuickLogin } from '../login';
/**
@@ -9,12 +9,17 @@ import { doQuickLogin } from '../login';
test('Parts - Tabs', async ({ page }) => {
await doQuickLogin(page);
- await page.goto(`${baseUrl}/home`);
await page.getByRole('tab', { name: 'Parts' }).click();
+ await page
+ .getByLabel('panel-tabs-partcategory')
+ .getByRole('tab', { name: 'Parts' })
+ .click();
- await page.waitForURL('**/platform/part/category/index/details');
- await page.goto(`${baseUrl}/part/category/index/parts`);
+ // Select a particular part from the table
+ await clearTableFilters(page);
+ await page.getByPlaceholder('Search').fill('1551');
await page.getByText('1551ABK').click();
+
await page.getByRole('tab', { name: 'Allocations' }).click();
await page.getByRole('tab', { name: 'Used In' }).click();
await page.getByRole('tab', { name: 'Pricing' }).click();
@@ -30,11 +35,12 @@ test('Parts - Tabs', async ({ page }) => {
await page.getByText('1551ACLR').click();
await page.getByRole('tab', { name: 'Part Details' }).click();
await page.getByRole('tab', { name: 'Parameters' }).click();
+
await page
- .getByRole('tab', { name: 'Part Details' })
- .locator('xpath=..')
+ .getByLabel('panel-tabs-part')
.getByRole('tab', { name: 'Stock', exact: true })
.click();
+
await page.getByRole('tab', { name: 'Allocations' }).click();
await page.getByRole('tab', { name: 'Used In' }).click();
await page.getByRole('tab', { name: 'Pricing' }).click();
diff --git a/src/frontend/tests/pages/pui_purchase_order.spec.ts b/src/frontend/tests/pages/pui_purchase_order.spec.ts
index f170d86de5..dbfd36da08 100644
--- a/src/frontend/tests/pages/pui_purchase_order.spec.ts
+++ b/src/frontend/tests/pages/pui_purchase_order.spec.ts
@@ -1,15 +1,20 @@
import { test } from '../baseFixtures.ts';
import { baseUrl } from '../defaults.ts';
-import { clickButtonIfVisible, openFilterDrawer } from '../helpers.ts';
+import {
+ clearTableFilters,
+ clickButtonIfVisible,
+ openFilterDrawer
+} from '../helpers.ts';
import { doQuickLogin } from '../login.ts';
test('Purchase Orders', async ({ page }) => {
await doQuickLogin(page);
- await page.goto(`${baseUrl}/home`);
await page.getByRole('tab', { name: 'Purchasing' }).click();
await page.getByRole('tab', { name: 'Purchase Orders' }).click();
+ await clearTableFilters(page);
+
// Check for expected values
await page.getByRole('cell', { name: 'PO0014' }).waitFor();
await page.getByText('Wire-E-Coyote').waitFor();