fix(e2e): dismissear PrerequisitesModal en test 'crear parte valida'

En /dashboard/goods/parts/edit/new, +page.svelte abre un AlertDialog
"Aviso" cuando agentsCount === 0 || clientsCount === 0. En CI con DB
limpia (sin agentes ni clientes seedeados) esto es siempre el caso:
el overlay del modal intercepta los clicks del form y "Guardar"
falla por timeout.

El test ahora detecta el modal después de navegar a /new y clickea
"Aceptar" para cerrarlo y continuar con el flujo (Cancelar te saca
del editor, no sirve).

Ver routes/dashboard/goods/parts/edit/[[id]]/+page.svelte:29-38.

Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
This commit is contained in:
2026-05-22 14:32:43 -05:00
parent 9d3e74d415
commit 92063e682f

View File

@@ -134,6 +134,17 @@ test.describe('Setup — Catalogos para pruebas E2E', () => {
await page.waitForLoadState('networkidle')
await page.waitForTimeout(800)
// PrerequisitesModal: AlertDialog "Aviso" que abre cuando la DB no tiene
// Agentes aduanales o Clientes registrados (caso típico en E2E con DB limpia).
// Bloquea pointer events con un overlay sobre todo el form. Cancelar te saca
// del editor; Aceptar lo cierra y permite continuar.
// Ver routes/dashboard/goods/parts/edit/[[id]]/+page.svelte:29-38.
const prerequisitesDialog = page.getByRole('alertdialog', { name: /Aviso/i })
if (await prerequisitesDialog.isVisible({ timeout: 2000 }).catch(() => false)) {
await prerequisitesDialog.getByRole('button', { name: /^Aceptar$/ }).click()
await prerequisitesDialog.waitFor({ state: 'hidden', timeout: 5000 }).catch(() => {})
}
// Llenar campos del formulario de nueva parte
// Numero de parte
const partInput = page.locator('#part_number, input[placeholder*="parte"], input[placeholder*="número"], input[name="part_number"]').first()