From 2aa7d214b1943697104de6a6b1097c101dc465dd Mon Sep 17 00:00:00 2001 From: beatz174-bit Date: Mon, 24 Nov 2025 08:12:58 +1000 Subject: [PATCH] Add e2e test for pick list quantity controls --- e2e/picklist.spec.ts | 39 +++++++++++++++++++++++++++++++++++++++ 1 file changed, 39 insertions(+) diff --git a/e2e/picklist.spec.ts b/e2e/picklist.spec.ts index 066f6f6..6d64f02 100644 --- a/e2e/picklist.spec.ts +++ b/e2e/picklist.spec.ts @@ -53,4 +53,43 @@ test.describe('Active pick list', () => { await expect(page.getByText('Playwright Cola Zero')).toBeVisible(); }); + + test('adjusts item quantities with increment and decrement controls', async ({ page }) => { + await page.goto('/'); + + await expect(page.getByRole('heading', { name: 'StockFill' })).toBeVisible(); + await page.getByRole('link', { name: 'Create Pick List' }).click(); + await page.getByLabel('Area').click(); + await page.getByRole('option', { name: areaName }).first().click(); + await page.getByRole('button', { name: 'Save Pick List' }).click(); + + await expect(page.getByRole('heading', { name: `${areaName} List` })).toBeVisible(); + + const searchInput = page.getByPlaceholder('Search products'); + await searchInput.click(); + await searchInput.fill(additionalProduct); + await page + .getByRole('option', { name: new RegExp(`${additionalProduct} \\(${areaName}\\)`, 'i') }) + .first() + .click(); + + const quantityLabel = page.getByText('Qty: 1 Unit'); + await expect(quantityLabel).toBeVisible(); + + await page.getByRole('button', { name: 'Increase quantity' }).click(); + await expect(page.getByText('Qty: 2 Unit')).toBeVisible(); + + await page.reload(); + await expect(page.getByText('Qty: 2 Unit')).toBeVisible(); + + const decrementButton = page.getByRole('button', { name: 'Decrease quantity' }); + await decrementButton.click(); + await decrementButton.click(); + await decrementButton.click(); + + await expect(page.getByText('Qty: 1 Unit')).toBeVisible(); + + await page.reload(); + await expect(page.getByText('Qty: 1 Unit')).toBeVisible(); + }); });