Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
36 changes: 36 additions & 0 deletions src/e2e/guest-create-order.spec.ts
Original file line number Diff line number Diff line change
@@ -0,0 +1,36 @@
// import { createOrderFormData } from "@/lib/utils.tests";
import { expect, test } from "@playwright/test";
import { createOrderFormData } from "./utils-tests-e2e";

export type OrderFormData = Record<string, string>;

test.describe("Guest", () => {
test("Guest can create an order", async ({ page }) => {
// Navegar a la tienda y agregar un producto
await page.goto("http://localhost:5173/");

await page.getByRole("menuitem", { name: "Polos" }).click();
await page.getByTestId("product-item").first().click();

await page.getByRole("button", { name: "Agregar al Carrito" }).click();
await page.getByRole("link", { name: "Carrito de compras" }).click();

await page.getByRole("link", { name: "Continuar Compra" }).click();

// Llenar correctamente los campos
const orderForm = createOrderFormData();
for (const [key, value] of Object.entries(orderForm)) {
const input = await page.getByRole("textbox", { name: key });
await input.click();
await input.fill(value);
}
await page.getByRole("combobox", { name: "País" }).selectOption("PE");

await page.getByRole("button", { name: "Confirmar Orden" }).click();

await expect(
page.getByText("¡Muchas gracias por tu compra!")
).toBeVisible();
await expect(page.getByTestId("orderId")).toBeVisible();
});
});
18 changes: 18 additions & 0 deletions src/e2e/utils-tests-e2e.ts
Original file line number Diff line number Diff line change
@@ -0,0 +1,18 @@
/* Helper functions → Playwright */

export type OrderFormData = Record<string, string>;

export const createOrderFormData = (
overrides?: Partial<OrderFormData>
): OrderFormData => ({
"Correo electrónico": "testinodp@codeable.com",
Nombre: "Testino",
Apellido: "Diprueba",
Compañia: "",
Dirección: "Calle Di Prueba 123",
Ciudad: "Lima",
"Provincia/Estado": "Lima",
"Código Postal": "51111",
Teléfono: "987456321",
...overrides,
});