From 698249ecad8db5d3d414696b5c8fb2e7fe1d3def Mon Sep 17 00:00:00 2001 From: Oliver Date: Mon, 18 Aug 2025 14:02:28 +1000 Subject: [PATCH] Badges for supplier part (#10187) * Badges for supplier part * Robistify playwright test --- .../src/pages/company/SupplierPartDetail.tsx | 5 +++-- .../tests/pages/pui_sales_order.spec.ts | 17 +++++++++++------ 2 files changed, 14 insertions(+), 8 deletions(-) diff --git a/src/frontend/src/pages/company/SupplierPartDetail.tsx b/src/frontend/src/pages/company/SupplierPartDetail.tsx index 8064126b48..448ad58403 100644 --- a/src/frontend/src/pages/company/SupplierPartDetail.tsx +++ b/src/frontend/src/pages/company/SupplierPartDetail.tsx @@ -13,6 +13,7 @@ import { ApiEndpoints } from '@lib/enums/ApiEndpoints'; import { ModelType } from '@lib/enums/ModelType'; import { UserRoles } from '@lib/enums/Roles'; import { apiUrl } from '@lib/functions/Api'; +import { formatDecimal } from '@lib/functions/Formatting'; import { getDetailUrl } from '@lib/functions/Navigation'; import AdminButton from '../../components/buttons/AdminButton'; import { @@ -370,7 +371,7 @@ export default function SupplierPartDetail() { visible={supplierPart.active == false} />, , 0} key='on_order' diff --git a/src/frontend/tests/pages/pui_sales_order.spec.ts b/src/frontend/tests/pages/pui_sales_order.spec.ts index 37ef9a8d2d..c7f29e0b90 100644 --- a/src/frontend/tests/pages/pui_sales_order.spec.ts +++ b/src/frontend/tests/pages/pui_sales_order.spec.ts @@ -2,6 +2,7 @@ import { expect } from '@playwright/test'; import { test } from '../baseFixtures.ts'; import { clearTableFilters, + clickOnRowMenu, globalSearch, loadTab, setTableChoiceFilter @@ -111,9 +112,11 @@ test('Sales Orders - Shipments', async ({ browser }) => { await loadTab(page, 'Sales Orders'); await clearTableFilters(page); + // Click through to a particular sales order await page.getByRole('cell', { name: 'SO0006' }).first().click(); await loadTab(page, 'Shipments'); + await clearTableFilters(page); // Create a new shipment await page.getByLabel('action-button-add-shipment').click(); @@ -129,7 +132,8 @@ test('Sales Orders - Shipments', async ({ browser }) => { await page.getByRole('button', { name: 'Cancel' }).click(); // Edit one of the existing shipments - await page.getByLabel('row-action-menu-0').click(); + const cell = page.getByRole('cell', { name: /SHIP-XYZ/ }); + await clickOnRowMenu(cell); await page.getByRole('menuitem', { name: 'Edit' }).click(); // Ensure the form has loaded @@ -155,8 +159,7 @@ test('Sales Orders - Shipments', async ({ browser }) => { await page.getByRole('button', { name: 'Submit' }).click(); // Click through to a particular shipment - await page.getByLabel('row-action-menu-0').click(); - await page.getByRole('menuitem', { name: 'View Shipment' }).click(); + await page.getByRole('cell', { name: tracking_number }).click(); // Click through the various tabs await loadTab(page, 'Attachments'); @@ -176,14 +179,16 @@ test('Sales Orders - Shipments', async ({ browser }) => { // Let's try to allocate some stock await loadTab(page, 'Line Items'); - await page.getByLabel('row-action-menu-1').click(); + + await clickOnRowMenu(page.getByRole('cell', { name: 'WID-REV-A' })); await page.getByRole('menuitem', { name: 'Allocate stock' }).click(); await page .getByText('Select the source location for the stock allocation') .waitFor(); await page.getByLabel('number-field-quantity').fill('123'); - await page.getByLabel('related-field-stock_item').click(); - await page.getByText('Quantity: 42').click(); + await page.getByLabel('related-field-stock_item').fill('42'); + + await page.getByText('Serial Number: 42').click(); await page.getByRole('button', { name: 'Cancel' }).click(); // Search for shipment by tracking number