baseLayout.e2e.js 950 B

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