b34b0dd7d6
Validators (Pushes and Pull Requests) / UI & Storage Validation (pull_request) Failing after 12s
Validators (Pushes and Pull Requests) / Database & Schema Validation (pull_request) Successful in 13s
Validators (Pushes and Pull Requests) / Core Validators & Database Setup (pull_request) Failing after 28s
Validators (Pushes and Pull Requests) / WBS & Audit Validations (pull_request) Has been skipped
Validators (Pushes and Pull Requests) / .NET Contracts (pull_request) Has been skipped
Validators (Pushes and Pull Requests) / Calibration & Performance (pull_request) Has been skipped
Validators (Pushes and Pull Requests) / Operational Report & Decision Packet (pull_request) Has been skipped
Validators (Pushes and Pull Requests) / CI Workflow Lint (pull_request) Failing after 10s
Validators (Pushes and Pull Requests) / Security & Secrets (pull_request) Successful in 12s
Validators (Pushes and Pull Requests) / Notify PR Results (pull_request) Successful in 2s
Frontend CI Pipeline / ci-frontend-8-steps (pull_request) Failing after 2m50s
50 lines
1.7 KiB
TypeScript
50 lines
1.7 KiB
TypeScript
import { test, expect } from '@playwright/test'
|
|
|
|
test.describe('Inventory Management E2E Tests', () => {
|
|
test.beforeEach(async ({ page }) => {
|
|
await page.goto('http://localhost:5173')
|
|
})
|
|
|
|
test('should transfer inventory between warehouses', async ({ page }) => {
|
|
await page.click('a[href="/inventory"]')
|
|
await page.click('button:has-text("Transfer")')
|
|
|
|
// Select warehouses
|
|
await page.selectOption('select:has-text("From Warehouse")', 'WH-001')
|
|
await page.selectOption('select:has-text("To Warehouse")', 'WH-002')
|
|
|
|
// Enter product and quantity
|
|
await page.fill('input[name="productSku"]', 'SKU-12345')
|
|
await page.fill('input[name="quantity"]', '100')
|
|
|
|
// Submit transfer
|
|
await page.click('button:has-text("Transfer")')
|
|
|
|
// Verify success
|
|
await expect(page.locator('text=Transfer completed')).toBeVisible()
|
|
})
|
|
|
|
test('should view inventory levels', async ({ page }) => {
|
|
await page.click('a[href="/inventory"]')
|
|
|
|
// Verify table displays
|
|
const table = await page.locator('table').isVisible()
|
|
expect(table).toBeTruthy()
|
|
|
|
// Verify columns
|
|
await expect(page.locator('th:has-text("Product")')).toBeVisible()
|
|
await expect(page.locator('th:has-text("Quantity")')).toBeVisible()
|
|
await expect(page.locator('th:has-text("Available")')).toBeVisible()
|
|
})
|
|
|
|
test('should alert on low stock items', async ({ page }) => {
|
|
await page.click('a[href="/inventory"]')
|
|
await page.click('button:has-text("Low Stock")')
|
|
|
|
// Verify low stock items displayed
|
|
const lowStockBadges = await page.locator('.badge-warning')
|
|
const count = await lowStockBadges.count()
|
|
expect(count).toBeGreaterThan(0)
|
|
})
|
|
})
|