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:
@@ -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()
|
||||
|
||||
Reference in New Issue
Block a user