From e44d441f14bd7695b7b05a1bfa0539c8edae2b67 Mon Sep 17 00:00:00 2001 From: Oliver Walters Date: Fri, 19 Jun 2026 03:39:21 +0000 Subject: [PATCH] Add playwright test --- .../src/components/nav/NavigationTree.tsx | 1 + src/frontend/tests/pages/pui_stock.spec.ts | 18 ++++++++++++++++++ 2 files changed, 19 insertions(+) diff --git a/src/frontend/src/components/nav/NavigationTree.tsx b/src/frontend/src/components/nav/NavigationTree.tsx index dbcba80ee8..ac214707d0 100644 --- a/src/frontend/src/components/nav/NavigationTree.tsx +++ b/src/frontend/src/components/nav/NavigationTree.tsx @@ -374,6 +374,7 @@ export default function NavigationTree({ > setSearchValue(event.currentTarget.value)} diff --git a/src/frontend/tests/pages/pui_stock.spec.ts b/src/frontend/tests/pages/pui_stock.spec.ts index 0f568349f1..bcf8d64d72 100644 --- a/src/frontend/tests/pages/pui_stock.spec.ts +++ b/src/frontend/tests/pages/pui_stock.spec.ts @@ -70,6 +70,24 @@ test('Stock - Location Tree', async ({ browser }) => { await page.getByLabel('breadcrumb-1-factory').click(); await page.getByRole('cell', { name: 'Factory' }).first().waitFor(); + + // Load the tree again - from a deeply nested location + // We expect it to auto-expand to the current location + await navigate(page, 'stock/location/17/stock-items'); + await page.getByLabel('nav-breadcrumb-action').click(); + + for (let ii = 0; ii <= 5; ii++) { + await page + .locator('div') + .filter({ hasText: `Location ${ii}` }) + .first() + .waitFor(); + } + + // Let's search for a particular location + await page.getByRole('textbox', { name: 'nav-tree-search' }).fill('room'); + await page.getByText('Storage Room A').first().waitFor(); + await page.getByText('Storage Room B').first().waitFor(); }); test('Stock - Location Delete', async ({ browser }) => {