import { randomUUID } from "node:crypto"; import { expect, test } from "@playwright/test"; import { loginViaUi } from "../support/login-via-ui"; import { createCustomerViaUi } from "./support/create-customer-via-ui"; import { searchCustomersViaUi } from "./support/search-customers-via-ui"; test("CUSTOMERS-LIST-001: muestra un cliente persistido y permite acceder a su edición", async ({ page, }, testInfo) => { await loginViaUi(page); const token = `e2elist${randomUUID().replaceAll("-", "")}`; const customer = await createCustomerViaUi(page, testInfo, `E2E LIST ${token}`); await page.goto("/customers"); // Aísla el cliente propio sin depender de su posición entre datos de otras ejecuciones. await searchCustomersViaUi(page, token); const editAction = page.getByTestId(`customer-edit-${customer.id}`); const row = page.getByRole("row").filter({ has: editAction }); await expect(row).toBeVisible(); await expect(row).toContainText(customer.name); await expect(row).toContainText(customer.email); await editAction.click(); await expect(page).toHaveURL((url) => url.pathname === `/customers/${customer.id}/edit`); await expect(page.locator('input[name="name"]')).toHaveValue(customer.name); });