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

45 lines
1.2 KiB
JavaScript
Raw Normal View History

const puppeteer = require('puppeteer');
const url = "http://localhost:3000/users";
const urlMass = ['/users','/tariffs','/discounts','/promocode','/support', '/entities'];
2023-03-06 15:32:00 +00:00
jest.setTimeout(1000 * 60 * 5);
let browser;
let page;
2023-03-06 15:32:00 +00:00
describe('Тест', (() => {
beforeAll(async()=>{
2023-03-06 15:32:00 +00:00
browser = puppeteer.launch({headless:true});
page = browser.newPage();
2023-03-06 15:32:00 +00:00
page.goto(url);
// Set screen size
2023-03-06 15:32:00 +00:00
page.setViewport({width: 1080, height: 1024});
})
afterAll(() => browser.quit());
test('Тест меню',async () => {
// Ждем загрузки менюшек
2023-03-06 15:32:00 +00:00
page.waitForSelector('.menu')
// Берем все ссылки с кнопок, у которых есть класс menu и вставляем в массив
2023-03-06 15:32:00 +00:00
let menuLink = page.evaluate(()=>{
let menuArray = document.querySelectorAll('.menu')
let 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)
}
})
}))