1
1
import assert from 'assert' ;
2
- import { expect } from 'expect ' ;
3
- import path from 'path' ;
2
+ import { expect } from 'chai ' ;
3
+ import path , { dirname } from 'path' ;
4
4
import { exec } from 'child_process' ;
5
+ import { fileURLToPath } from 'url' ;
5
6
6
- const __dirname = path . resolve ( '.' ) ;
7
- const runner = path . join ( __dirname , 'bin/codecept.js' ) ;
8
- const codecept_dir = path . join ( __dirname , 'test/data/sandbox' ) ;
7
+ const __dirname = dirname ( fileURLToPath ( import . meta . url ) ) ;
8
+ const runner = path . join ( __dirname , '../../ bin/codecept.js' ) ;
9
+ const codecept_dir = path . join ( __dirname , '../../ test/data/sandbox' ) ;
9
10
const codecept_run = `${ runner } run-multiple --config ${ codecept_dir } /codecept.multiple.js ` ;
10
11
11
12
describe ( 'CodeceptJS Multiple Runner' , function ( ) {
12
13
this . timeout ( 40000 ) ;
13
14
14
15
before ( ( ) => {
15
- global . codecept_dir = path . join ( __dirname , '/../data/sandbox' ) ;
16
+ global . codecept_dir = codecept_dir ;
17
+ process . chdir ( codecept_dir ) ;
16
18
} ) ;
17
19
18
20
it ( 'should execute one suite with browser' , ( done ) => {
19
21
exec ( `${ codecept_run } default:firefox` , ( err , stdout ) => {
22
+ console . log ( stdout )
20
23
expect ( stdout ) . to . include ( 'CodeceptJS' ) ; // feature
21
- expect ( stdout ) . to . include ( '.default:firefox] print browser ' ) ;
22
- expect ( stdout ) . to . not . include ( '.default:chrome] print browser ' ) ;
24
+ expect ( stdout ) . to . include ( '.default:firefox]' ) ;
25
+ expect ( stdout ) . to . not . include ( '.default:chrome]' ) ;
23
26
assert ( ! err ) ;
24
27
done ( ) ;
25
28
} ) ;
@@ -28,17 +31,17 @@ describe('CodeceptJS Multiple Runner', function () {
28
31
it ( 'should execute all suites' , ( done ) => {
29
32
exec ( `${ codecept_run } --all` , ( err , stdout ) => {
30
33
expect ( stdout ) . to . include ( 'CodeceptJS' ) ; // feature
31
- expect ( stdout ) . to . include ( '[1.default:chrome] print browser ' ) ;
32
- expect ( stdout ) . to . include ( '[2.default:firefox] print browser ' ) ;
33
- expect ( stdout ) . to . include ( '[3.mobile:android] print browser ' ) ;
34
- expect ( stdout ) . to . include ( '[4.mobile:safari] print browser ' ) ;
35
- expect ( stdout ) . to . include ( '[5.mobile:chrome] print browser ' ) ;
36
- expect ( stdout ) . to . include ( '[6.mobile:safari] print browser ' ) ;
37
- expect ( stdout ) . to . include ( '[7.grep:chrome] @grep print browser size ' ) ;
38
- expect ( stdout ) . to . include ( '[8.grep:firefox] @grep print browser size ' ) ;
39
- expect ( stdout ) . to . not . include ( '[7.grep:chrome] print browser ' ) ;
40
- expect ( stdout ) . to . include ( '[1.default:chrome] @grep print browser size ' ) ;
41
- expect ( stdout ) . to . include ( '[3.mobile:android] @grep print browser size ' ) ;
34
+ expect ( stdout ) . to . include ( '[1.default:chrome]' ) ;
35
+ expect ( stdout ) . to . include ( '[2.default:firefox]' ) ;
36
+ expect ( stdout ) . to . include ( '[3.mobile:android]' ) ;
37
+ expect ( stdout ) . to . include ( '[4.mobile:safari]' ) ;
38
+ expect ( stdout ) . to . include ( '[5.mobile:chrome]' ) ;
39
+ expect ( stdout ) . to . include ( '[6.mobile:safari]' ) ;
40
+ expect ( stdout ) . to . include ( '[7.grep:chrome]' ) ;
41
+ expect ( stdout ) . to . include ( '[8.grep:firefox]' ) ;
42
+ expect ( stdout ) . to . include ( '[7.grep:chrome]' ) ;
43
+ expect ( stdout ) . to . include ( '[1.default:chrome]' ) ;
44
+ expect ( stdout ) . to . include ( '[3.mobile:android]' ) ;
42
45
assert ( ! err ) ;
43
46
done ( ) ;
44
47
} ) ;
@@ -47,8 +50,8 @@ describe('CodeceptJS Multiple Runner', function () {
47
50
it ( 'should replace parameters' , ( done ) => {
48
51
exec ( `${ codecept_run } grep --debug` , ( err , stdout ) => {
49
52
expect ( stdout ) . to . include ( 'CodeceptJS' ) ; // feature
50
- expect ( stdout ) . to . include ( '[1.grep:chrome] › maximize ' ) ;
51
- expect ( stdout ) . to . include ( '[2.grep:firefox] › 1200x840 ' ) ;
53
+ expect ( stdout ) . to . include ( '[1.grep:chrome]' ) ;
54
+ expect ( stdout ) . to . include ( '[2.grep:firefox]' ) ;
52
55
assert ( ! err ) ;
53
56
done ( ) ;
54
57
} ) ;
@@ -57,12 +60,12 @@ describe('CodeceptJS Multiple Runner', function () {
57
60
it ( 'should execute multiple suites' , ( done ) => {
58
61
exec ( `${ codecept_run } mobile default ` , ( err , stdout ) => {
59
62
expect ( stdout ) . to . include ( 'CodeceptJS' ) ; // feature
60
- expect ( stdout ) . to . include ( '[1.mobile:android] print browser ' ) ;
61
- expect ( stdout ) . to . include ( '[2.mobile:safari] print browser ' ) ;
62
- expect ( stdout ) . to . include ( '[3.mobile:chrome] print browser ' ) ;
63
- expect ( stdout ) . to . include ( '[4.mobile:safari] print browser ' ) ;
64
- expect ( stdout ) . to . include ( '[5.default:chrome] print browser ' ) ;
65
- expect ( stdout ) . to . include ( '[6.default:firefox] print browser ' ) ;
63
+ expect ( stdout ) . to . include ( '[1.mobile:android]' ) ;
64
+ expect ( stdout ) . to . include ( '[2.mobile:safari]' ) ;
65
+ expect ( stdout ) . to . include ( '[3.mobile:chrome]' ) ;
66
+ expect ( stdout ) . to . include ( '[4.mobile:safari]' ) ;
67
+ expect ( stdout ) . to . include ( '[5.default:chrome]' ) ;
68
+ expect ( stdout ) . to . include ( '[6.default:firefox]' ) ;
66
69
assert ( ! err ) ;
67
70
done ( ) ;
68
71
} ) ;
@@ -71,9 +74,9 @@ describe('CodeceptJS Multiple Runner', function () {
71
74
it ( 'should execute multiple suites with selected browsers' , ( done ) => {
72
75
exec ( `${ codecept_run } mobile:safari default:chrome ` , ( err , stdout ) => {
73
76
expect ( stdout ) . to . include ( 'CodeceptJS' ) ; // feature
74
- expect ( stdout ) . to . include ( '[1.mobile:safari] print browser ' ) ;
75
- expect ( stdout ) . to . include ( '[2.mobile:safari] print browser ' ) ;
76
- expect ( stdout ) . to . include ( '[3.default:chrome] print browser ' ) ;
77
+ expect ( stdout ) . to . include ( '[1.mobile:safari]' ) ;
78
+ expect ( stdout ) . to . include ( '[2.mobile:safari]' ) ;
79
+ expect ( stdout ) . to . include ( '[3.default:chrome]' ) ;
77
80
assert ( ! err ) ;
78
81
done ( ) ;
79
82
} ) ;
@@ -82,10 +85,10 @@ describe('CodeceptJS Multiple Runner', function () {
82
85
it ( 'should print steps' , ( done ) => {
83
86
exec ( `${ codecept_run } default --steps` , ( err , stdout ) => {
84
87
expect ( stdout ) . to . include ( 'CodeceptJS' ) ; // feature
85
- expect ( stdout ) . to . include ( '[2.default:firefox] print browser ' ) ;
86
- expect ( stdout ) . to . include ( '[2.default:firefox] I print browser ' ) ;
87
- expect ( stdout ) . to . include ( '[1.default:chrome] print browser ' ) ;
88
- expect ( stdout ) . to . include ( '[1.default:chrome] I print browser ' ) ;
88
+ expect ( stdout ) . to . include ( '[2.default:firefox] ' ) ;
89
+ expect ( stdout ) . to . include ( '[2.default:firefox] I' ) ;
90
+ expect ( stdout ) . to . include ( '[1.default:chrome] ' ) ;
91
+ expect ( stdout ) . to . include ( '[1.default:chrome] I' ) ;
89
92
assert ( ! err ) ;
90
93
done ( ) ;
91
94
} ) ;
@@ -94,10 +97,10 @@ describe('CodeceptJS Multiple Runner', function () {
94
97
it ( 'should pass grep to configuration' , ( done ) => {
95
98
exec ( `${ codecept_run } default --grep @grep` , ( err , stdout ) => {
96
99
expect ( stdout ) . to . include ( 'CodeceptJS' ) ; // feature
97
- expect ( stdout ) . to . include ( '[1.default:chrome] @grep print browser size ' ) ;
98
- expect ( stdout ) . to . include ( '[2.default:firefox] @grep print browser size ' ) ;
99
- expect ( stdout ) . to . not . include ( '[1.default:chrome] print browser ' ) ;
100
- expect ( stdout ) . to . not . include ( '[2.default:firefox] print browser ' ) ;
100
+ expect ( stdout ) . to . include ( '[1.default:chrome]' ) ;
101
+ expect ( stdout ) . to . include ( '[2.default:firefox]' ) ;
102
+ expect ( stdout ) . to . not . include ( '[1.default:chrome]' ) ;
103
+ expect ( stdout ) . to . not . include ( '[2.default:firefox]' ) ;
101
104
assert ( ! err ) ;
102
105
done ( ) ;
103
106
} ) ;
@@ -106,10 +109,10 @@ describe('CodeceptJS Multiple Runner', function () {
106
109
it ( 'should pass grep invert to configuration' , ( done ) => {
107
110
exec ( `${ codecept_run } default --grep @grep --invert` , ( err , stdout ) => {
108
111
expect ( stdout ) . to . include ( 'CodeceptJS' ) ; // feature
109
- expect ( stdout ) . to . not . include ( '[1.default:chrome] @grep print browser size ' ) ;
110
- expect ( stdout ) . to . not . include ( '[2.default:firefox] @grep print browser size ' ) ;
111
- expect ( stdout ) . to . include ( '[1.default:chrome] print browser ' ) ;
112
- expect ( stdout ) . to . include ( '[2.default:firefox] print browser ' ) ;
112
+ expect ( stdout ) . to . not . include ( '[1.default:chrome]' ) ;
113
+ expect ( stdout ) . to . not . include ( '[2.default:firefox]' ) ;
114
+ expect ( stdout ) . to . include ( '[1.default:chrome]' ) ;
115
+ expect ( stdout ) . to . include ( '[2.default:firefox]' ) ;
113
116
assert ( ! err ) ;
114
117
done ( ) ;
115
118
} ) ;
@@ -118,10 +121,10 @@ describe('CodeceptJS Multiple Runner', function () {
118
121
it ( 'should pass tests to configuration' , ( done ) => {
119
122
exec ( `${ codecept_run } test` , ( err , stdout ) => {
120
123
expect ( stdout ) . to . include ( 'CodeceptJS' ) ; // feature
121
- expect ( stdout ) . to . include ( '[1.test:chrome] print browser size' ) ;
122
- expect ( stdout ) . to . include ( '[2.test:firefox] print browser size' ) ;
123
- expect ( stdout ) . to . include ( '[1.test:chrome] print browser ' ) ;
124
- expect ( stdout ) . to . include ( '[2.test:firefox] print browser ' ) ;
124
+ expect ( stdout ) . to . include ( '[1.test:chrome]size' ) ;
125
+ expect ( stdout ) . to . include ( '[2.test:firefox]size' ) ;
126
+ expect ( stdout ) . to . include ( '[1.test:chrome]' ) ;
127
+ expect ( stdout ) . to . include ( '[2.test:firefox]' ) ;
125
128
assert ( ! err ) ;
126
129
done ( ) ;
127
130
} ) ;
@@ -131,7 +134,7 @@ describe('CodeceptJS Multiple Runner', function () {
131
134
exec ( `${ codecept_run } chunks` , ( err , stdout ) => {
132
135
expect ( stdout ) . to . include ( 'CodeceptJS' ) ; // feature
133
136
expect ( stdout ) . to . include ( '[1.chunks:chunk1:dummy] print browser' ) ;
134
- expect ( stdout ) . to . include ( '[2.chunks:chunk2:dummy] @grep print browser size ' ) ;
137
+ expect ( stdout ) . to . include ( '[2.chunks:chunk2:dummy]' ) ;
135
138
assert ( ! err ) ;
136
139
done ( ) ;
137
140
} ) ;
@@ -228,7 +231,7 @@ describe('CodeceptJS Multiple Runner', function () {
228
231
exec ( `${ runner } ${ _codecept_run } /codecept.require.multiple.single.json default` , ( err , stdout ) => {
229
232
expect ( stdout ) . to . include ( moduleOutput ) ;
230
233
expect ( stdout ) . to . not . include ( moduleOutput2 ) ;
231
- ( stdout . match ( new RegExp ( moduleOutput , 'g' ) ) || [ ] ) . should . have . lengthOf ( 2 ) ;
234
+ expect ( stdout . match ( new RegExp ( moduleOutput , 'g' ) ) || [ ] ) . to . have . lengthOf ( 2 ) ;
232
235
assert ( ! err ) ;
233
236
done ( ) ;
234
237
} ) ;
@@ -239,8 +242,8 @@ describe('CodeceptJS Multiple Runner', function () {
239
242
exec ( `${ runner } ${ _codecept_run } /codecept.require.multiple.several.js default` , ( err , stdout ) => {
240
243
expect ( stdout ) . to . include ( moduleOutput ) ;
241
244
expect ( stdout ) . to . include ( moduleOutput2 ) ;
242
- ( stdout . match ( new RegExp ( moduleOutput , 'g' ) ) || [ ] ) . should . have . lengthOf ( 2 ) ;
243
- ( stdout . match ( new RegExp ( moduleOutput2 , 'g' ) ) || [ ] ) . should . have . lengthOf ( 2 ) ;
245
+ expect ( stdout . match ( new RegExp ( moduleOutput , 'g' ) ) || [ ] ) . to . have . lengthOf ( 2 ) ;
246
+ expect ( stdout . match ( new RegExp ( moduleOutput2 , 'g' ) ) || [ ] ) . to . have . have . lengthOf ( 2 ) ;
244
247
assert ( ! err ) ;
245
248
done ( ) ;
246
249
} ) ;
0 commit comments