baseLayout.e2e.js 888 B

123456789101112131415161718192021222324252627282930313233343536
  1. import config from '../config/config';
  2. const RouterConfig = config.routes;
  3. const BASE_URL = `http://localhost:${process.env.PORT || 8000}`;
  4. function formatter(data) {
  5. return data
  6. .reduce((pre, item) => {
  7. pre.push(item.path);
  8. return pre;
  9. }, [])
  10. .filter(item => item);
  11. }
  12. describe('Homepage', async () => {
  13. const testPage = path => async () => {
  14. await page.goto(`${BASE_URL}${path}`);
  15. await page.waitForSelector('footer', {
  16. timeout: 2000,
  17. });
  18. const haveFooter = await page.evaluate(
  19. () => document.getElementsByTagName('footer').length > 0
  20. );
  21. expect(haveFooter).toBeTruthy();
  22. };
  23. beforeAll(async () => {
  24. jest.setTimeout(1000000);
  25. await page.setCacheEnabled(false);
  26. });
  27. const routers = formatter(RouterConfig[1].routes);
  28. routers.forEach(route => {
  29. it(`test pages ${route}`, testPage(route));
  30. });
  31. });