42 lines
1.2 KiB
JavaScript
42 lines
1.2 KiB
JavaScript
const puppeteer = require("puppeteer");
|
|
const { removeTimes } = require("../utils");
|
|
const iPhoneX = puppeteer.devices["iPhone X"];
|
|
const iPadLandscape = puppeteer.devices["iPad landscape"];
|
|
|
|
const { DEFAULT_URL: URL } = process.env;
|
|
|
|
describe("Dozzle with light mode", () => {
|
|
beforeAll(async () => {
|
|
await page.goto(URL + "/settings", { waitUntil: "networkidle2" });
|
|
await page.$$eval("label.switch", (elements) => {
|
|
elements.filter((e) => e.textContent.trim() === "Use light theme")[0].click();
|
|
});
|
|
});
|
|
beforeEach(async () => {
|
|
await page.goto(URL, { waitUntil: "networkidle2" });
|
|
});
|
|
|
|
it("renders full page on desktop", async () => {
|
|
await removeTimes(page);
|
|
const image = await page.screenshot({ fullPage: true });
|
|
|
|
expect(image).toMatchImageSnapshot();
|
|
});
|
|
|
|
it("renders ipad viewport", async () => {
|
|
await page.emulate(iPadLandscape);
|
|
await removeTimes(page);
|
|
const image = await page.screenshot();
|
|
|
|
expect(image).toMatchImageSnapshot();
|
|
});
|
|
|
|
it("renders iphone viewport", async () => {
|
|
await page.emulate(iPhoneX);
|
|
await removeTimes(page);
|
|
const image = await page.screenshot();
|
|
|
|
expect(image).toMatchImageSnapshot();
|
|
});
|
|
});
|