|
|
|
// eslint-disable-next-line no-unused-vars
|
|
|
|
const { Page } = require("puppeteer");
|
|
|
|
|
|
|
|
/**
|
|
|
|
* Set back the correct data type for page object
|
|
|
|
* @type {Page}
|
|
|
|
*/
|
|
|
|
page;
|
|
|
|
|
|
|
|
beforeAll(() => {
|
|
|
|
|
|
|
|
});
|
|
|
|
|
|
|
|
afterAll(() => {
|
|
|
|
|
|
|
|
});
|
|
|
|
|
|
|
|
describe("Init", () => {
|
|
|
|
const title = "Uptime Kuma";
|
|
|
|
|
|
|
|
beforeAll(async () => {
|
|
|
|
await page.goto("http://127.0.0.1:3002");
|
|
|
|
});
|
|
|
|
|
|
|
|
it(`should be titled "${title}"`, async () => {
|
|
|
|
await expect(page.title()).resolves.toMatch(title);
|
|
|
|
});
|
|
|
|
|
|
|
|
it("Setup", async () => {
|
|
|
|
// Create an Admin
|
|
|
|
await page.waitForSelector("#floatingInput");
|
|
|
|
await page.waitForSelector("#repeat");
|
|
|
|
await page.click("#floatingInput");
|
|
|
|
await page.type("#floatingInput", "admin");
|
|
|
|
await page.type("#floatingPassword", "admin123");
|
|
|
|
await page.type("#repeat", "admin123");
|
|
|
|
await page.click(".btn-primary[type=submit]");
|
|
|
|
await page.waitFor(3000);
|
|
|
|
|
|
|
|
// Go to /setup again
|
|
|
|
await page.goto("http://127.0.0.1:3002/setup");
|
|
|
|
await page.waitFor(3000);
|
|
|
|
const pathname = await page.evaluate(() => location.pathname);
|
|
|
|
expect(pathname).toEqual("/dashboard");
|
|
|
|
|
|
|
|
// Go to /
|
|
|
|
await page.goto("http://127.0.0.1:3002");
|
|
|
|
expect(pathname).toEqual("/dashboard");
|
|
|
|
expect(pathname).toEqual("/dashboard");
|
|
|
|
});
|
|
|
|
|
|
|
|
describe("Init", () => {
|
|
|
|
|
|
|
|
});
|
|
|
|
});
|
|
|
|
|
|
|
|
describe("Status Page", () => {
|
|
|
|
const title = "Uptime Kuma";
|
|
|
|
beforeAll(async () => {
|
|
|
|
await page.goto("http://127.0.0.1:3002/status");
|
|
|
|
});
|
|
|
|
it(`should be titled "${title}"`, async () => {
|
|
|
|
await expect(page.title()).resolves.toMatch(title);
|
|
|
|
});
|
|
|
|
});
|
|
|
|
|