Files
insta-portal/playwright.config.mjs
Uriel JarethandClaude Opus 5 20eb73d4aa Pruebas: apuntar a cualquier despliegue con BASE y no fijar el orden del tabulador
playwright.config.mjs toma BASE del entorno, y cuando no es local no arranca
ningun servidor. Asi la misma suite verifica el portal ya desplegado.

La prueba de teclado esperaba que el segundo Tab cayera en una tarjeta de
acceso; contra un servidor remoto las tarjetas todavia no estaban pintadas y
el foco caia en otra cosa. Ahora espera a que existan, tabula hasta
alcanzarlas y comprueba ademas que el foco se vea.

Co-Authored-By: Claude Opus 5 (1M context) <[email protected]>
2026-07-30 00:02:17 -06:00

38 lines
1.2 KiB
JavaScript

import { defineConfig, devices } from '@playwright/test';
// Por omisión se prueba el portal local. Con BASE apuntando a otra dirección
// se prueba ese despliegue y no se arranca ningún servidor:
// $env:BASE="https://instademo.urieljareth.org"; npx playwright test
const BASE = process.env.BASE ?? 'http://localhost:4180';
const esLocal = BASE.includes('localhost') || BASE.includes('127.0.0.1');
// Un solo worker: las pruebas comparten la base y algunas escriben.
export default defineConfig({
testDir: './tests',
fullyParallel: false,
workers: 1,
retries: 0,
reporter: [['list'], ['html', { open: 'never', outputFolder: 'tests/reporte' }]],
use: {
baseURL: BASE,
locale: 'es-MX',
timezoneId: 'America/Mexico_City',
screenshot: 'only-on-failure',
trace: 'retain-on-failure',
},
projects: [
{ name: 'webkit', use: { ...devices['Desktop Safari'], viewport: { width: 1440, height: 900 } } },
{ name: 'webkit-movil', use: { ...devices['iPhone 13'] } },
],
...(esLocal
? {
webServer: {
command: 'node server/index.mjs',
url: `${BASE}/salud`,
reuseExistingServer: true,
timeout: 30_000,
},
}
: {}),
});