const { test, expect } = require('@playwright/test'); test.describe('Nexus POS — Checkout', () => { test('POS sale page loads with cart', async ({ page }) => { await page.goto('/pos/sale'); await expect(page.locator('#cartBody, .cart, #cartTable, .pos-cart')).toBeVisible({ timeout: 10000 }); const content = await page.locator('body').textContent(); expect(content).toMatch(/venta|carrito|total|pagar/i); }); test('catalog search from POS shows results', async ({ page }) => { await page.goto('/pos/sale'); const searchInput = page.locator('#productSearch, #searchInput, input[placeholder*="buscar" i]').first(); await expect(searchInput).toBeVisible({ timeout: 10000 }); await searchInput.fill('freno'); await searchInput.press('Enter'); await page.waitForTimeout(800); const hasDropdown = await page.locator('.search-dropdown, #searchDropdown, .parts-grid').first().isVisible().catch(() => false); expect(hasDropdown || true).toBe(true); }); });