Sessions UI: visualization, month/year charts (#15902)

This commit is contained in:
Michael Geers 2024-10-21 12:13:45 +02:00 • committed by GitHub
parent 1bd521fc24
commit cfa35f295b
No known key found for this signature in database
GPG key ID: B5690EEEBB952194
38 changed files with 3271 additions and 715 deletions

View file

@ -31,7 +31,8 @@ test.describe("basics", async () => {
});
test("month with data", async ({ page }) => {
await page.goto("/#/sessions?year=2023&month=5");
await expect(page.getByRole("heading", { name: "MAY 2023" })).toBeVisible();
await expect(page.getByTestId("navigate-month")).toHaveText("May");
await expect(page.getByTestId("navigate-year")).toHaveText("2023");
await expect(page.getByTestId("sessions-nodata")).toHaveCount(0);
await expect(page.getByRole("table")).toBeVisible();
await expect(page.getByTestId("sessions-head")).toHaveCount(1);
@ -91,8 +92,8 @@ test.describe("mobile basics", async () => {
await page.goto("/#/sessions?year=2023&month=5");
await page.getByTestId("sessions-head-energy").getByRole("combobox").selectOption("Solar");
await page.getByRole("link", { name: "Apr" }).click();
await page.getByRole("link", { name: "May" }).click();
await page.getByTestId("navigate-next-year-month").click();
await page.getByTestId("navigate-prev-year-month").click();
await expect(page.getByTestId("sessions-head-solar")).toContainText("Solar%");
});
});
@ -100,20 +101,22 @@ test.describe("mobile basics", async () => {
test.describe("paging", async () => {
test("prev/next links", async ({ page }) => {
await page.goto("/#/sessions?year=2023&month=5");
await expect(page.getByRole("link", { name: "April" })).toBeVisible();
await expect(page.getByRole("link", { name: "June" })).toBeVisible();
await expect(page.getByTestId("navigate-next-month")).not.toBeDisabled();
await expect(page.getByTestId("navigate-prev-month")).not.toBeDisabled();
});
test("next month", async ({ page }) => {
await page.goto("/#/sessions?year=2023&month=5");
await page.getByRole("link", { name: "June" }).click();
await expect(page.getByRole("heading", { name: "JUNE 2023" })).toBeVisible();
await expect(page.getByRole("link", { name: "May" })).toBeVisible();
await expect(page.getByRole("link", { name: "July" })).toBeVisible();
await page.getByTestId("navigate-next-month").click();
await expect(page.getByTestId("navigate-month")).toHaveText("June");
await expect(page.getByTestId("navigate-year")).toHaveText("2023");
await expect(page.getByTestId("navigate-next-month")).not.toBeDisabled();
await expect(page.getByTestId("navigate-prev-month")).not.toBeDisabled();
});
test("prev month", async ({ page }) => {
await page.goto("/#/sessions?year=2023&month=6");
await page.getByRole("link", { name: "May" }).click();
await expect(page.getByRole("heading", { name: "MAY 2023" })).toBeVisible();
await page.getByTestId("navigate-prev-month").click();
await expect(page.getByTestId("navigate-month")).toHaveText("May");
await expect(page.getByTestId("navigate-year")).toHaveText("2023");
});
});
@ -224,8 +227,13 @@ for (const [name, viewport] of Object.entries({ desktop, mobile })) {
.locator("visible=true")
.selectOption("Carport (3)");
await expect(page.getByTestId("sessions-entry")).toHaveCount(3);
await page.getByRole("link", { name: "Jun" }).click();
await page.getByRole("link", { name: "May" }).click();
if (name === "mobile") {
await page.getByTestId("navigate-next-year-month").click();
await page.getByTestId("navigate-prev-year-month").click();
} else {
await page.getByTestId("navigate-next-month").click();
await page.getByTestId("navigate-prev-month").click();
}
await expect(page.getByTestId("sessions-entry")).toHaveCount(3);
});
});