adminFront/src/__tests__/menu-link.test.js

36 lines
1.2 KiB
JavaScript
Raw Normal View History

2024-05-21 07:41:31 +00:00
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);
}
});
});