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

41 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'];
let browser;
let page;
describe('Тест', (() => {
beforeAll(async()=>{
browser = await puppeteer.launch({headless:true});
page = await browser.newPage();
await page.goto(url);
// Set screen size
await page.setViewport({width: 1080, height: 1024});
})
afterAll(() => browser.quit());
test('Тест меню',async () => {
// Ждем загрузки менюшек
await page.waitForSelector('.menu')
// Берем все ссылки с кнопок, у которых есть класс menu и вставляем в массив
let menuLink = await 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)
}
})
}))