IKHSAN
EN Read in EnglishID

opendesk

Publik
Branch
main
Commit terakhir
08d9f3328 Oktober 2026

auth.spec.ts

Buka raw
import { expect, test, usePersona } from "../helpers/fixtures";
import { PASSWORD, personas } from "../helpers/personas";

test.describe("logged out", () => {
  test.use({ storageState: { cookies: [], origins: [] } });

  test("login returns to the requested page, then logs out", async ({ page }) => {
    await page.goto("/opendesk/tickets");
    await expect(page).toHaveURL(/\/login\?redirect-to=\/opendesk\/tickets/);

    await page.getByRole("textbox", { name: "Email" }).fill(personas.agent.email);
    await page.getByRole("textbox", { name: "Password" }).fill(PASSWORD);
    await page.getByRole("button", { name: "Continue" }).click();

    await expect(page).toHaveURL(/\/opendesk\/tickets$/);
    await expect(page.getByRole("button", { name: "Filter", exact: true })).toBeVisible();

    await page.getByRole("button", { name: /^Opendesk / }).click();
    await page.getByRole("menuitem", { name: "Log out" }).click();
    await expect(page).toHaveURL(/\/login/);
  });
});

test.describe("agent", () => {
  usePersona("agent");

  test("lands on home", async ({ page }) => {
    await page.goto("/opendesk");
    await expect(page).toHaveURL(/\/opendesk\/home$/);
  });
});

test.describe("customer", () => {
  usePersona("customer");

  test("lands on the portal and is kept out of agent routes", async ({ page, ticket }) => {
    await page.goto("/opendesk");
    await expect(page).toHaveURL(/\/help\/?$/);
    await expect(page.getByRole("button", { name: "Customers" })).toHaveCount(0);

    await page.goto(`/opendesk/tickets/${ticket.name}`);
    await expect(page).toHaveURL(new RegExp(`/help/my-tickets/${ticket.name}$`));
  });
});
byte
1.657
baris
45
Jenis
ts
Commit terakhir
28 Oktober 2026