diff --git a/src/frontend/src/pages/part/PartDetail.tsx b/src/frontend/src/pages/part/PartDetail.tsx index ac48b256f1..0cb0cc466e 100644 --- a/src/frontend/src/pages/part/PartDetail.tsx +++ b/src/frontend/src/pages/part/PartDetail.tsx @@ -999,6 +999,10 @@ export default function PartDetail() { return []; } + const allocated = + partRequirements.allocated_to_build_orders + + partRequirements.allocated_to_sales_orders; + const required = partRequirements.required_for_build_orders + partRequirements.required_for_sales_orders; @@ -1031,6 +1035,12 @@ export default function PartDetail() { visible={!part.virtual && partRequirements.total_stock == 0} key='no_stock' />, + 0} + key='allocated' + />, , 0} + visible={partRequirements.scheduled_to_build > 0} key='in_production' />, { // Check top-level badges await page.getByText('In Stock: 209').waitFor(); + await page.getByText(/Allocated: \d/).waitFor(); await page.getByText('Available: 204').waitFor(); await page.getByText(/Required: 2\d+/).waitFor(); - await page.getByText('In Production: 24').waitFor(); + await page.getByText(/In Production: 2\d\d/).waitFor(); // Check requirements details await page.getByText('204 / 209').waitFor(); // Available stock @@ -374,7 +375,7 @@ test('Parts - Requirements', async ({ browser }) => { await page.getByText('In Stock: 44').waitFor(); await page.getByText('Available: 39').waitFor(); await page.getByText('Required: 100').waitFor(); - await page.getByText('In Production: 10').waitFor(); + await page.getByText(/In Production: 1\d\d/).waitFor(); await page.getByText('39 / 44').waitFor(); // Available stock await page.getByText('5 / 100').waitFor(); // Allocated to sales orders