IKHSAN
ENID Baca dalam Bahasa Indonesia

opendesk

Public
Branch
main
Latest commit
08d9f3328 October 2026

auth.spec.ts

Open 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}$`));
  });
});
bytes
1,657
lines
45
Type
ts
Latest commit
28 October 2026