@@ -2,52 +2,56 @@ const path = require('path');
22const waitOn = require ( 'wait-on' ) ;
33const ip = require ( 'ip' ) ;
44const getBrowser = require ( './utils/puppeteer' ) . getBrowser ;
5-
65const { viewports, themes, layouts } = require ( './constants' ) ;
76const DevServer = require ( './dev-server' ) ;
87
98const defaultLayout = 'side-nav-outer-toolbar' ;
109
11- module . exports = ( env , { port, urls } = { port : '8080' , urls : { } } ) => {
12- const appUrl = `http://${ ip . address ( ) } :${ port } /` ;
10+ module . exports = ( env , { port, urls, useDifferentPorts } = { port : '8080' , urls : { } , useDifferentPorts : false } ) => {
1311 const diffSnapshotsDir = path . join ( 'testing/__tests__/__diff_snapshots__' , env . engine ) ;
14-
1512 const pageUrls = {
1613 profile : 'profile' ,
1714 tasks : 'tasks' ,
1815 page : `${ ( env . engine === 'angular' ? 'pages/' : '' ) } new-page` ,
1916 'change-password' : 'change-password/123' ,
2017 ...urls ,
2118 } ;
22-
23- const getPageURL = ( name ) => `${ appUrl } ${ ( env . engine . indexOf ( 'nextjs' ) !== 0 ? '#/' : '' ) } ${ pageUrls [ name ] } ` ;
24- const devServer = new DevServer ( env , { port } ) ;
19+ let currentPort = port ;
2520
2621 describe ( `${ env . engine } app-template` , ( ) => {
2722 let browser ;
2823 let page ;
2924
30- beforeAll ( async ( ) => {
25+ /* beforeAll(async() => {
3126 browser = await getBrowser();
3227 page = await browser.newPage();
3328 });
3429
3530 afterAll(async() => {
31+ console.log('-----afterAll---CLOSE-->', Boolean(process.env.LAUNCH_BROWSER));
3632 await (Boolean(process.env.LAUNCH_BROWSER) ? browser : page).close();
37- } ) ;
33+ }); */
3834
3935 Object . keys ( themes ) . forEach ( ( theme ) => {
40-
4136 describe ( theme , ( ) => {
4237 layouts . forEach ( ( layout ) => {
4338 const isDefaultLayout = layout === defaultLayout ;
4439
4540 describe ( layout , ( ) => {
46-
41+ const getPageURL = ( name ) => `${ appUrl } ${ ( env . engine . indexOf ( 'nextjs' ) !== 0 ? '#/' : '' ) } ${ pageUrls [ name ] } ` ;
42+ console . log ( '----currentPort------>' , currentPort ) ;
43+ let devServer ;
44+ let appUrl ;
4745
4846 beforeAll ( async ( ) => {
47+ appUrl = `http://${ ip . address ( ) } :${ currentPort } /` ;
48+ devServer = new DevServer ( env , { port : currentPort } ) ;
49+
50+ browser = await getBrowser ( ) ;
51+ page = await browser . newPage ( ) ;
52+
4953 try {
50- console . log ( '----beforeAll---->' ) ;
54+ console . log ( '----beforeAll--wait -->' , currentPort ) ;
5155 await waitOn ( {
5256 reverse : true ,
5357 resources : [ appUrl ] ,
@@ -63,6 +67,7 @@ module.exports = (env, { port, urls } = { port: '8080', urls: {} }) => {
6367 timeout : 30000 ,
6468 interval : 100
6569 } ) ;
70+ console . log ( '-----SERVER READY----->' ) ;
6671 } catch ( e ) {
6772 // NOTE jest@27 will fail test, but jest@26 - not
6873 console . log ( '-----ERROR----->' , e ) ;
@@ -74,20 +79,26 @@ module.exports = (env, { port, urls } = { port: '8080', urls: {} }) => {
7479 console . log ( '----afterAll---before stop--->' ) ;
7580 await devServer . stop ( ) ;
7681 console . log ( '----afterAll---after stop--->' ) ;
77-
82+ if ( useDifferentPorts ) {
83+ currentPort ++ ;
84+ }
85+ await ( Boolean ( process . env . LAUNCH_BROWSER ) ? browser : page ) . close ( ) ;
7886 } ) ;
7987
8088 Object . keys ( viewports ) . forEach ( ( viewportName ) => {
8189 const viewport = viewports [ viewportName ] ;
8290
8391 async function openPage ( url , options ) {
84- await new Promise ( ( resolve ) => setTimeout ( resolve , 500 ) ) ;
92+ console . log ( '----openPage------>' ) ;
8593 await page . goto ( 'about:blank' ) ;
94+ console . log ( '----openPage----setViewport-->' ) ;
8695 await page . setViewport ( viewport ) ;
96+ console . log ( '----openPage----goto-->' , url ) ;
8797 await page . goto ( url , {
8898 waitUntil : 'networkidle0' ,
8999 ...options
90100 } ) ;
101+ console . log ( '----openPage----waitForSelector(\'.with-footer\')-->' ) ;
91102 await page . waitForSelector ( '.with-footer' ) ;
92103 await page . waitForTimeout ( 3000 ) ;
93104 }
0 commit comments