@@ -35,15 +35,21 @@ describe("index", () => {
35
35
jest . setMock ( "../../client-src/socket.js" , jest . fn ( ) ) ;
36
36
socket = require ( "../../client-src/socket" ) ;
37
37
38
+ const send = jest . fn ( ) ;
39
+
38
40
// overlay
39
41
jest . setMock ( "../../client-src/overlay.js" , {
40
- hide : jest . fn ( ) ,
41
- show : jest . fn ( ) ,
42
+ createOverlay : ( ) => {
43
+ return {
44
+ send,
45
+ } ;
46
+ } ,
42
47
formatProblem : ( item ) => {
43
48
return { header : "HEADER warning" , body : `BODY: ${ item } ` } ;
44
49
} ,
45
50
} ) ;
46
- overlay = require ( "../../client-src/overlay" ) ;
51
+ const { createOverlay } = require ( "../../client-src/overlay" ) ;
52
+ overlay = createOverlay ( ) ;
47
53
48
54
// reloadApp
49
55
jest . setMock ( "../../client-src/utils/reloadApp.js" , jest . fn ( ) ) ;
@@ -89,13 +95,13 @@ describe("index", () => {
89
95
90
96
expect ( log . log . info . mock . calls [ 0 ] [ 0 ] ) . toMatchSnapshot ( ) ;
91
97
expect ( sendMessage . mock . calls [ 0 ] [ 0 ] ) . toMatchSnapshot ( ) ;
92
- expect ( overlay . hide ) . not . toBeCalled ( ) ;
98
+ expect ( overlay . send ) . not . toBeCalledWith ( { type : "DISMISS" } ) ;
93
99
94
100
// change flags
95
101
onSocketMessage . overlay ( true ) ;
96
102
onSocketMessage [ "still-ok" ] ( ) ;
97
103
98
- expect ( overlay . hide ) . toBeCalled ( ) ;
104
+ expect ( overlay . send ) . toHaveBeenCalledWith ( { type : "DISMISS" } ) ;
99
105
} ) ;
100
106
101
107
test ( "should run onSocketMessage.progress and onSocketMessage['progress-update']" , ( ) => {
@@ -191,9 +197,14 @@ describe("index", () => {
191
197
192
198
// change flags
193
199
onSocketMessage . overlay ( { warnings : true } ) ;
194
- onSocketMessage . warnings ( [ ] ) ;
200
+ onSocketMessage . warnings ( [ "warning message" ] ) ;
195
201
196
- expect ( overlay . show ) . toBeCalled ( ) ;
202
+ expect ( overlay . send ) . toHaveBeenCalledTimes ( 1 ) ;
203
+ expect ( overlay . send ) . toHaveBeenCalledWith ( {
204
+ type : "BUILD_ERROR" ,
205
+ level : "warning" ,
206
+ messages : [ "warning message" ] ,
207
+ } ) ;
197
208
} ) ;
198
209
199
210
test ( "should parse overlay options from resource query" , ( ) => {
@@ -202,51 +213,71 @@ describe("index", () => {
202
213
global . __resourceQuery = `?overlay=${ encodeURIComponent (
203
214
`{"warnings": false}`
204
215
) } `;
205
- overlay . show . mockReset ( ) ;
216
+ overlay . send . mockReset ( ) ;
206
217
socket . mockReset ( ) ;
207
218
jest . unmock ( "../../client-src/utils/parseURL.js" ) ;
208
219
require ( "../../client-src" ) ;
209
220
onSocketMessage = socket . mock . calls [ 0 ] [ 1 ] ;
210
221
211
222
onSocketMessage . warnings ( [ "warn1" ] ) ;
212
- expect ( overlay . show ) . not . toBeCalled ( ) ;
223
+ expect ( overlay . send ) . not . toBeCalled ( ) ;
213
224
214
225
onSocketMessage . errors ( [ "error1" ] ) ;
215
- expect ( overlay . show ) . toBeCalledTimes ( 1 ) ;
226
+ expect ( overlay . send ) . toBeCalledTimes ( 1 ) ;
227
+ expect ( overlay . send ) . toHaveBeenCalledWith ( {
228
+ type : "BUILD_ERROR" ,
229
+ level : "error" ,
230
+ messages : [ "error1" ] ,
231
+ } ) ;
216
232
} ) ;
217
233
218
234
jest . isolateModules ( ( ) => {
219
235
// Pass JSON config with errors disabled
220
236
global . __resourceQuery = `?overlay=${ encodeURIComponent (
221
237
`{"errors": false}`
222
238
) } `;
223
- overlay . show . mockReset ( ) ;
239
+ overlay . send . mockReset ( ) ;
224
240
socket . mockReset ( ) ;
225
241
jest . unmock ( "../../client-src/utils/parseURL.js" ) ;
226
242
require ( "../../client-src" ) ;
227
243
onSocketMessage = socket . mock . calls [ 0 ] [ 1 ] ;
228
244
229
245
onSocketMessage . errors ( [ "error1" ] ) ;
230
- expect ( overlay . show ) . not . toBeCalled ( ) ;
246
+ expect ( overlay . send ) . not . toBeCalled ( ) ;
231
247
232
248
onSocketMessage . warnings ( [ "warn1" ] ) ;
233
- expect ( overlay . show ) . toBeCalledTimes ( 1 ) ;
249
+ expect ( overlay . send ) . toBeCalledTimes ( 1 ) ;
250
+ expect ( overlay . send ) . toHaveBeenCalledWith ( {
251
+ type : "BUILD_ERROR" ,
252
+ level : "warning" ,
253
+ messages : [ "warn1" ] ,
254
+ } ) ;
234
255
} ) ;
235
256
236
257
jest . isolateModules ( ( ) => {
237
258
// Use simple boolean
238
259
global . __resourceQuery = "?overlay=true" ;
239
260
jest . unmock ( "../../client-src/utils/parseURL.js" ) ;
240
261
socket . mockReset ( ) ;
241
- overlay . show . mockReset ( ) ;
262
+ overlay . send . mockReset ( ) ;
242
263
require ( "../../client-src" ) ;
243
264
onSocketMessage = socket . mock . calls [ 0 ] [ 1 ] ;
244
265
245
266
onSocketMessage . warnings ( [ "warn2" ] ) ;
246
- expect ( overlay . show ) . toBeCalledTimes ( 1 ) ;
267
+ expect ( overlay . send ) . toBeCalledTimes ( 1 ) ;
268
+ expect ( overlay . send ) . toHaveBeenLastCalledWith ( {
269
+ type : "BUILD_ERROR" ,
270
+ level : "warning" ,
271
+ messages : [ "warn2" ] ,
272
+ } ) ;
247
273
248
274
onSocketMessage . errors ( [ "error2" ] ) ;
249
- expect ( overlay . show ) . toBeCalledTimes ( 2 ) ;
275
+ expect ( overlay . send ) . toBeCalledTimes ( 2 ) ;
276
+ expect ( overlay . send ) . toHaveBeenLastCalledWith ( {
277
+ type : "BUILD_ERROR" ,
278
+ level : "error" ,
279
+ messages : [ "error2" ] ,
280
+ } ) ;
250
281
} ) ;
251
282
} ) ;
252
283
0 commit comments