mirror of
https://github.com/lukevella/rallly.git
synced 2025-04-30 18:56:45 +02:00
55 lines
1.6 KiB
TypeScript
55 lines
1.6 KiB
TypeScript
import { expect, test } from "@playwright/test";
|
|
|
|
test("should be able to create a new poll and delete it", async ({ page }) => {
|
|
await page.goto("/new");
|
|
await page.type('[placeholder="Monthly Meetup"]', "Monthly Meetup");
|
|
// click on label to focus on input
|
|
await page.click('text="Location"');
|
|
await page.keyboard.type("Joe's Coffee Shop");
|
|
|
|
await page.click('text="Description"');
|
|
|
|
await page.keyboard.type("This is a test description");
|
|
|
|
await page.click('text="Continue"');
|
|
|
|
await page.click('[title="Next month"]');
|
|
|
|
// Select a few days
|
|
await page.click("text=/^5$/");
|
|
await page.click("text=/^7$/");
|
|
await page.click("text=/^10$/");
|
|
await page.click("text=/^15$/");
|
|
|
|
await page.click('text="Continue"');
|
|
|
|
await page.type('[placeholder="Jessie Smith"]', "John");
|
|
await page.type(
|
|
'[placeholder="jessie.smith@email.com"]',
|
|
"john.doe@email.com",
|
|
);
|
|
|
|
await page.click('text="Create poll"');
|
|
|
|
await expect(page.locator("data-testid=poll-title")).toHaveText(
|
|
"Monthly Meetup",
|
|
);
|
|
|
|
// let's delete the poll we just created
|
|
await page.click("text=Manage");
|
|
await page.click("text=Delete poll");
|
|
|
|
const deletePollForm = page.locator("data-testid=delete-poll-form");
|
|
|
|
// button should be disabled
|
|
await expect(deletePollForm.locator("text=Delete poll")).toBeDisabled();
|
|
|
|
// enter confirmation text
|
|
await page.type("[placeholder=delete-me]", "delete-me");
|
|
|
|
// button should now be enabled
|
|
await deletePollForm.locator("text=Delete poll").click();
|
|
|
|
// expect delete message to appear
|
|
await expect(page.locator("text=Deleted poll")).toBeVisible();
|
|
});
|