test: add reproducer for garden care tracking (task 73)
This commit is contained in:
@@ -33,6 +33,45 @@ test("garden plants happy path", async ({ page }) => {
|
||||
await expect(page).toHaveURL(/\/garden/);
|
||||
});
|
||||
|
||||
test("garden care tracking happy path", async ({ page }) => {
|
||||
const suffix = Date.now().toString();
|
||||
const plantName = `Care Plant ${suffix}`;
|
||||
|
||||
// Create a plant to attach care to
|
||||
await page.goto("/garden?tab=plants");
|
||||
await page.getByRole("link", { name: /add plant/i }).click();
|
||||
await page.getByLabel("Name").fill(plantName);
|
||||
await page.getByRole("button", { name: /create/i }).click();
|
||||
await expect(page).toHaveURL(/\/garden\/plants\//);
|
||||
|
||||
// Open the Care tab
|
||||
await page.getByRole("button", { name: /care/i }).click();
|
||||
|
||||
// Add a care schedule
|
||||
await page.getByRole("button", { name: /add schedule/i }).click();
|
||||
await page.getByLabel(/care type/i).fill("watering");
|
||||
await page.getByLabel(/interval/i).fill("7");
|
||||
await page.getByRole("button", { name: /save|add/i }).click();
|
||||
|
||||
// Verify schedule appears
|
||||
await expect(page.getByText("watering")).toBeVisible();
|
||||
await expect(page.getByText(/7 days|every 7/i)).toBeVisible();
|
||||
|
||||
// Log a care event
|
||||
await page.getByRole("button", { name: /log care/i }).click();
|
||||
await expect(page.getByLabel(/care type/i)).toBeVisible();
|
||||
await page.getByRole("button", { name: /log|save/i }).click();
|
||||
|
||||
// Verify history entry appears
|
||||
await expect(page.getByText(/watered|watering/i)).toBeVisible();
|
||||
|
||||
// Cleanup: delete the plant
|
||||
await page.getByRole("button", { name: /info/i }).click();
|
||||
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 }) => {
|
||||
await page.goto("/garden");
|
||||
await expect(page.getByRole("heading", { name: "Garden" })).toBeVisible();
|
||||
|
||||
Reference in New Issue
Block a user