diff --git a/assets/js/views/Sessions.vue b/assets/js/views/Sessions.vue index ea6ecd528..96c7b2890 100644 --- a/assets/js/views/Sessions.vue +++ b/assets/js/views/Sessions.vue @@ -144,40 +144,26 @@ -
- - + +
+ + {{ csvLinkLabel }} + +
- { }); }); +const date = new Date(); +const YEAR = date.getFullYear(); +const MONTH = date.getMonth() + 1; +const MONTH_YEAR = new Intl.DateTimeFormat("en", { month: "long", year: "numeric" }).format(date); + test.describe("csv export", async () => { test("total export", async ({ page }) => { - await page.goto("/#/sessions?year=2023&month=5"); - await expect(page.getByRole("link", { name: "Download total CSV" })).toHaveAttribute( - "href", - "./api/sessions?format=csv&lang=en" - ); - - await page.goto("/#/sessions?year=2023&month=6"); + await page.goto("/#/sessions?period=total"); await expect(page.getByRole("link", { name: "Download total CSV" })).toHaveAttribute( "href", "./api/sessions?format=csv&lang=en" ); }); + test("year export", async ({ page }) => { + // fixed year + await page.goto("/#/sessions?period=year&year=2023"); + await expect(page.getByRole("link", { name: "Download 2023 CSV" })).toHaveAttribute( + "href", + "./api/sessions?format=csv&lang=en&year=2023" + ); + + // current year + await page.goto(`/#/sessions?period=year`); + await expect(page.getByRole("link", { name: `Download ${YEAR} CSV` })).toHaveAttribute( + "href", + `./api/sessions?format=csv&lang=en&year=${YEAR}` + ); + }); test("monthly export", async ({ page }) => { - await page.goto("/#/sessions?year=2023&month=5"); + await page.goto("/#/sessions?&year=2023&month=5"); await expect(page.getByRole("link", { name: "Download May 2023 CSV" })).toHaveAttribute( "href", "./api/sessions?format=csv&lang=en&year=2023&month=5" ); - await page.goto("/#/sessions?year=2023&month=6"); - await expect(page.getByRole("link", { name: "Download June 2023 CSV" })).toHaveCount(0); + // current month + await page.goto(`/#/sessions`); + await expect(page.getByRole("link", { name: `Download ${MONTH_YEAR} CSV` })).toHaveAttribute( + "href", + `./api/sessions?format=csv&lang=en&year=${YEAR}&month=${MONTH}` + ); }); });