FactuGES_ERP/tests/e2e/identity/login.spec.ts

41 lines
1.2 KiB
TypeScript

import { expect, test } from "@playwright/test";
import { loginViaUi } from "../support/login-via-ui";
test("IDENTITY-LOGIN-001: mantiene la sesión después de iniciar sesión y recargar", async ({
page,
}) => {
await loginViaUi(page);
const accountMenu = page.locator("#account-menu");
await page.reload();
await expect(page).not.toHaveURL(/\/login(?:\?|$)/);
await expect(accountMenu).toBeVisible();
});
test("IDENTITY-LOGIN-002: rechaza credenciales incorrectas sin crear una sesión", async ({
page,
}) => {
await page.goto("/login");
const loginEmail = page.locator("#login-email");
const loginPassword = page.locator("#login-password");
const loginSubmit = page.locator("#login-submit");
const loginError = page.locator("#login-error");
const accountMenu = page.locator("#account-menu");
await expect(loginEmail).toBeVisible();
await expect(loginPassword).toBeVisible();
await expect(loginSubmit).toBeVisible();
await loginEmail.fill("unknown-user@example.invalid");
await loginPassword.fill("invalid-password");
await loginSubmit.click();
await expect(loginError).toBeVisible();
await expect(page).toHaveURL(/\/login(?:\?.*)?$/);
await expect(accountMenu).not.toBeVisible();
});