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 @@
-
-
-
+
+
-
{
});
});
+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}`
+ );
});
});