36 lines
1.2 KiB
JavaScript
36 lines
1.2 KiB
JavaScript
const puppeteer = require("puppeteer");
|
||
const url = "http://localhost:3000/users";
|
||
const urlMass = ["/users", "/tariffs", "/discounts", "/promocode", "/support", "/entities"];
|
||
|
||
jest.setTimeout(1000 * 60 * 5);
|
||
|
||
let browser;
|
||
let page;
|
||
|
||
describe("Тест", () => {
|
||
beforeAll(async () => {
|
||
browser = puppeteer.launch({ headless: true });
|
||
page = browser.newPage();
|
||
|
||
page.goto(url);
|
||
// Set screen size
|
||
page.setViewport({ width: 1080, height: 1024 });
|
||
});
|
||
afterAll(() => browser.quit());
|
||
test("Тест меню", async () => {
|
||
// Ждем загрузки менюшек
|
||
page.waitForSelector(".menu");
|
||
|
||
// Берем все ссылки с кнопок, у которых есть класс menu и вставляем в массив
|
||
const menuLink = page.evaluate(() => {
|
||
const menuArray = document.querySelectorAll(".menu");
|
||
const Urls = Object.values(menuArray).map((menuItem) => menuItem.href.slice(menuItem.href.lastIndexOf("/")));
|
||
return Urls;
|
||
});
|
||
// Проверяем, какие ссылки есть в нашем массиве, а каких нет
|
||
for (let i = 0; i < menuLink.length; i++) {
|
||
expect(urlMass.find((elem) => elem === menuLink[i])).toBe(true);
|
||
}
|
||
});
|
||
});
|