235f15e1e7
CRITICAL: - JwtMiddleware orden (antes de UseAuthentication) - JWT Secret en appsettings.json (no vacio) - Transbank MySQL connection string (User=root + placeholder) - package-lock generado + Dockerfile usa npm install - Tests E2E: selectores corregidos con name attributes - Tests: rut invalido reemplazado, casos sin auth - Contacto page: apunta a services-externos (no backend) - .env.example: credenciales reales -> placeholders HIGH: - extra_hosts agregado a services-externos en compose - Dockerfile frontend: npm ci -> npm install
22 lines
774 B
TypeScript
22 lines
774 B
TypeScript
import { test, expect } from '@playwright/test';
|
|
|
|
test('login muestra formulario', async ({ page }) => {
|
|
await page.goto('/login');
|
|
await expect(page.locator('form')).toBeVisible();
|
|
await expect(page.locator('[name="rut"]')).toBeVisible();
|
|
await expect(page.locator('[name="clave"]')).toBeVisible();
|
|
});
|
|
|
|
test('login con rut invalido muestra error', async ({ page }) => {
|
|
await page.goto('/login');
|
|
await page.fill('[name="rut"]', '1-9');
|
|
await page.fill('[name="clave"]', 'password');
|
|
await page.click('button:has-text("Ingresar")');
|
|
await expect(page.locator('.alert-danger')).toBeVisible();
|
|
});
|
|
|
|
test('sidebar navegacion tiene enlaces', async ({ page }) => {
|
|
await page.goto('/login');
|
|
await expect(page.locator('.nav-list a')).toHaveCount(10);
|
|
});
|