Files
upstream-atomic-crm/e2e/userAddingATask.spec.ts
upstream-mirror 93ecc1a6f8
Some checks failed
✅ Check / 🔬 ESLint (push) Failing after 21s
✅ Check / 🏷️ Typecheck (push) Failing after 11s
✅ Check / 🔎 Test (push) Failing after 11s
✅ Check / e2e-test (push) Failing after 11s
✅ Check / 🔨 Build (push) Failing after 11s
🚀 Deploy / 🚀 Deploy (doc) (push) Failing after 12s
🚀 Deploy / 🚀 Deploy (demo) (push) Failing after 12s
🚀 Deploy / 🚀 Deploy (supabase) (push) Failing after 18s
snapshot of https://github.com/marmelab/atomic-crm.git (main, 2026-09-18; blobs > 131072B omitted)
2026-09-18 01:48:50 +05:00

98 lines
3.0 KiB
TypeScript

import { expect, test } from "./fixtures";
test.describe("user adding a task", () => {
test.beforeEach(async ({ createSales, createContact, createCompany }) => {
const sales = await createSales({
first_name: "John",
last_name: "Doe",
email: "john@doe.com",
password: "password",
});
const company = await createCompany({
name: "Smith Corp",
salesId: sales.id,
});
await createContact({
first_name: "Jane",
last_name: "Smith",
title: "CEO",
sales_id: sales.id,
company_id: company.id,
notes: [{ text: "Met at a conference." }],
});
await createContact({
first_name: "Bob",
last_name: "Johnson",
title: "CTO",
sales_id: sales.id,
company_id: company.id,
});
await createContact({
first_name: "Alice",
last_name: "Williams",
title: "CFO",
sales_id: sales.id,
company_id: company.id,
});
});
test("user adding a task", async ({ page, isMobile, menu, dismissToast }) => {
await page.goto("/");
await page.getByLabel("Email").fill("john@doe.com");
await page.getByLabel("Password").fill("password");
await page.getByRole("button", { name: "Sign in" }).click();
await expect(page).toHaveTitle(/Atomic CRM/);
await expect(page.getByText("Latest Activity")).toBeVisible();
await menu.goToContacts();
await page.waitForLoadState("networkidle");
await page.getByText("Jane Smith").click();
await page.waitForLoadState("networkidle");
if (isMobile) {
await page.getByRole("button", { name: "Create" }).click();
await page.getByRole("menuitem", { name: "Task" }).click();
} else {
await page.getByRole("button", { name: "Add Task" }).click();
}
await page.getByLabel("Description *").fill("Follow up with Jane");
await page.getByLabel("Due date").fill("2026-04-11T21:00");
await page.getByLabel("Type").click();
await page.getByRole("option", { name: "Call" }).click();
await page.getByRole("button", { name: "Save" }).click();
await dismissToast("Task added");
if (isMobile) {
await expect(page.getByText("1 task")).toBeVisible();
await page.getByText("1 task").click();
await expect(page.getByText("Follow up with Jane")).toBeVisible();
await expect(page.getByText("due 4/11/2026, 9:00:00 PM")).toBeVisible();
} else {
await expect(page.getByText("Tasks")).toBeVisible();
await expect(page.getByText("Tasks").locator("..")).toHaveText(
/Follow up with Jane/,
);
await menu.goToDashboard();
await expect(page.getByText("Upcoming Tasks")).toBeVisible();
await expect(
page.getByText("Upcoming Tasks").locator("../.."),
).toHaveText(/Follow up with Jane/);
await expect(
page.getByText("Follow up with Jane").locator(".."),
).toHaveText(
"Call Follow up with Janedue 4/11/2026, 9:00:00 PM (Re: Jane Smith)",
);
}
});
});