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