2020-09-28 14:31:45 +05:00
|
|
|
/* eslint-disable no-undef */
|
|
|
|
|
|
2021-06-09 23:50:04 +05:00
|
|
|
const { test, expect } = require("@playwright/test");
|
2020-09-28 14:31:45 +05:00
|
|
|
const { getTestId } = require("./utils");
|
|
|
|
|
|
2021-09-13 11:08:28 +05:00
|
|
|
test.beforeEach(async ({ page, baseURL }) => {
|
|
|
|
|
await page.goto(baseURL);
|
2021-10-23 10:58:44 +05:00
|
|
|
await page.waitForSelector(getTestId("routeHeader"));
|
2020-09-28 14:31:45 +05:00
|
|
|
});
|
|
|
|
|
|
|
|
|
|
function createRoute(key, header) {
|
|
|
|
|
return { buttonId: `navitem-${key}`, header };
|
|
|
|
|
}
|
2021-06-09 23:50:04 +05:00
|
|
|
|
2020-09-28 14:31:45 +05:00
|
|
|
const routes = [
|
2020-12-02 20:57:15 +05:00
|
|
|
createRoute("notes", "Notes"),
|
2020-09-28 14:31:45 +05:00
|
|
|
createRoute("notebooks", "Notebooks"),
|
|
|
|
|
createRoute("favorites", "Favorites"),
|
2021-07-17 13:19:03 +05:00
|
|
|
createRoute("monographs", "Monographs"),
|
2020-09-28 14:31:45 +05:00
|
|
|
createRoute("tags", "Tags"),
|
|
|
|
|
createRoute("trash", "Trash"),
|
|
|
|
|
createRoute("settings", "Settings"),
|
2021-06-09 23:50:04 +05:00
|
|
|
];
|
2020-09-28 14:31:45 +05:00
|
|
|
|
2021-06-09 23:50:04 +05:00
|
|
|
for (let route of routes) {
|
|
|
|
|
test(`navigating to ${route.header}`, async ({ page }) => {
|
|
|
|
|
await page.waitForSelector(getTestId(route.buttonId), {
|
|
|
|
|
state: "visible",
|
|
|
|
|
});
|
|
|
|
|
await page.click(getTestId(route.buttonId));
|
2021-10-22 16:29:12 +05:00
|
|
|
await expect(page.inputValue(getTestId("routeHeader"))).resolves.toBe(
|
2021-06-09 23:50:04 +05:00
|
|
|
route.header
|
|
|
|
|
);
|
|
|
|
|
await page.waitForTimeout(300);
|
2020-09-28 14:31:45 +05:00
|
|
|
});
|
2021-06-09 23:50:04 +05:00
|
|
|
}
|