|
|
@@ -19,44 +19,23 @@ describe('Homepage', () => {
|
|
|
let browser;
|
|
|
let page;
|
|
|
|
|
|
- const testAllPage = async layout =>
|
|
|
- new Promise(async (resolve, reject) => {
|
|
|
- const loadPage = async index => {
|
|
|
- const path = layout[index];
|
|
|
- try {
|
|
|
- await page.goto(`${BASE_URL}${path}`, { waitUntil: 'networkidle2' });
|
|
|
- const haveFooter = await page.evaluate(
|
|
|
- () => document.getElementsByTagName('footer').length > 0
|
|
|
- );
|
|
|
-
|
|
|
- expect(haveFooter).toBeTruthy();
|
|
|
-
|
|
|
- if (index < layout.length - 1) {
|
|
|
- loadPage(index + 1);
|
|
|
- } else {
|
|
|
- resolve('ok');
|
|
|
- }
|
|
|
- } catch (error) {
|
|
|
- reject(error);
|
|
|
- }
|
|
|
- };
|
|
|
- loadPage(0);
|
|
|
- });
|
|
|
+ const testPage = path => async () => {
|
|
|
+ await page.goto(`${BASE_URL}${path}`, { waitUntil: 'networkidle2' });
|
|
|
+ const haveFooter = await page.evaluate(
|
|
|
+ () => document.getElementsByTagName('footer').length > 0
|
|
|
+ );
|
|
|
+ expect(haveFooter).toBeTruthy();
|
|
|
+ };
|
|
|
|
|
|
beforeAll(async () => {
|
|
|
browser = await puppeteer.launch({ args: ['--no-sandbox'] });
|
|
|
page = await browser.newPage();
|
|
|
- jest.setTimeout(1000000);
|
|
|
});
|
|
|
|
|
|
- it('test user layout', async () => {
|
|
|
- const userLayout = formatter(RouterConfig[0].routes);
|
|
|
- await testAllPage(userLayout);
|
|
|
- });
|
|
|
-
|
|
|
- it('test base layout', async () => {
|
|
|
- const baseLayout = formatter(RouterConfig[1].routes);
|
|
|
- await testAllPage(baseLayout);
|
|
|
+ RouterConfig.forEach(({ routes = [] }) => {
|
|
|
+ formatter(routes).forEach(route => {
|
|
|
+ it(`test pages ${route}`, testPage(route));
|
|
|
+ });
|
|
|
});
|
|
|
|
|
|
afterAll(() => browser.close());
|