integratedhub/tests/e2e/documents.spec.ts
open-swe-dev-andrinoid[bot] 01132c8b82 Apply patch [skip ci]
2026-01-21 14:42:38 +00:00

58 lines
1.7 KiB
TypeScript

import { expect, test, type Page } from "@playwright/test";
import { applyDeterministicPage, useE2EUser } from "./helpers.ts";
test("tenant can review and sign lease documents", async ({ page }: { page: Page }) => {
await applyDeterministicPage(page);
await useE2EUser(page, "tenant");
await page.goto("/tenant/documents");
await expect(page.getByRole("heading", { name: /documents/i })).toBeVisible();
const leaseRow = page.locator("tbody tr", {
hasText: "maple-row-lease.pdf",
}).first();
await expect(leaseRow).toBeVisible();
const signButton = leaseRow.getByRole("button", { name: /sign as tenant/i });
if (await signButton.isVisible()) {
await signButton.click();
await expect(page).toHaveURL(/\/tenant\/documents/);
}
const updatedRow = page.locator("tbody tr", {
hasText: "maple-row-lease.pdf",
}).first();
await expect(updatedRow).toContainText("Signed");
});
test("landlord can review and sign lease documents", async ({ page }: { page: Page }) => {
await applyDeterministicPage(page);
await useE2EUser(page, "landlord");
await page.goto("/landlord/documents");
await expect(
page.getByRole("heading", { name: /lease documents/i }),
).toBeVisible();
const leaseRow = page.locator("tbody tr", {
hasText: "maple-row-lease.pdf",
}).first();
await expect(leaseRow).toBeVisible();
const signButton = leaseRow.getByRole("button", {
name: /sign as landlord/i,
});
if (await signButton.isVisible()) {
await signButton.click();
await expect(page).toHaveURL(/\/landlord\/documents/);
}
const updatedRow = page.locator("tbody tr", {
hasText: "maple-row-lease.pdf",
}).first();
await expect(updatedRow).toContainText("Signed");
});