test: add reproducer for garden plants crud (task 72)
This commit is contained in:
@@ -1,5 +1,38 @@
|
|||||||
import { test, expect } from "@playwright/test";
|
import { test, expect } from "@playwright/test";
|
||||||
|
|
||||||
|
test("garden plants happy path", async ({ page }) => {
|
||||||
|
const suffix = Date.now().toString();
|
||||||
|
const plantName = `E2E Plant ${suffix}`;
|
||||||
|
|
||||||
|
await page.goto("/garden?tab=plants");
|
||||||
|
await expect(page.getByRole("heading", { name: "Garden" })).toBeVisible();
|
||||||
|
|
||||||
|
// Add plant
|
||||||
|
await page.getByRole("link", { name: /add plant/i }).click();
|
||||||
|
await expect(page).toHaveURL(/\/garden\/plants\/new/);
|
||||||
|
|
||||||
|
await page.getByLabel("Name").fill(plantName);
|
||||||
|
await page.getByRole("button", { name: /create/i }).click();
|
||||||
|
|
||||||
|
await expect(page).toHaveURL(/\/garden\/plants\//);
|
||||||
|
await expect(page.getByRole("heading", { name: plantName })).toBeVisible();
|
||||||
|
|
||||||
|
// Edit plant
|
||||||
|
await page.getByRole("link", { name: /edit/i }).click();
|
||||||
|
await expect(page).toHaveURL(/\/garden\/plants\/.*\/edit/);
|
||||||
|
const updatedName = `${plantName} Updated`;
|
||||||
|
await page.getByLabel("Name").fill(updatedName);
|
||||||
|
await page.getByRole("button", { name: /save/i }).click();
|
||||||
|
|
||||||
|
await expect(page).toHaveURL(/\/garden\/plants\//);
|
||||||
|
await expect(page.getByRole("heading", { name: updatedName })).toBeVisible();
|
||||||
|
|
||||||
|
// Delete plant
|
||||||
|
await page.getByRole("button", { name: /delete/i }).click();
|
||||||
|
await page.getByRole("button", { name: /confirm/i }).click();
|
||||||
|
await expect(page).toHaveURL(/\/garden/);
|
||||||
|
});
|
||||||
|
|
||||||
test("garden containers happy path", async ({ page }) => {
|
test("garden containers happy path", async ({ page }) => {
|
||||||
await page.goto("/garden");
|
await page.goto("/garden");
|
||||||
await expect(page.getByRole("heading", { name: "Garden" })).toBeVisible();
|
await expect(page.getByRole("heading", { name: "Garden" })).toBeVisible();
|
||||||
|
|||||||
Reference in New Issue
Block a user