@@ -269,6 +269,92 @@ describe('Overlays', () => {
269269 } ) ;
270270 } ) ;
271271
272+ it ( 'should fire lifecycle events on controller overlays' , ( ) => {
273+ cy . get ( 'ion-radio#ion-modal' ) . click ( ) ;
274+ cy . get ( 'ion-radio#controller' ) . click ( ) ;
275+
276+ cy . get ( 'ion-button#present-overlay' ) . click ( ) ;
277+ cy . get ( 'ion-modal' ) . should ( 'exist' ) ;
278+
279+ testLifecycle ( 'overlays' , {
280+ willPresent : 1 ,
281+ didPresent : 1 ,
282+ willDismiss : 0 ,
283+ didDismiss : 0
284+ } ) ;
285+
286+ cy . get ( 'ion-modal #dismiss' ) . click ( ) ;
287+
288+ testLifecycle ( 'overlays' , {
289+ willPresent : 1 ,
290+ didPresent : 1 ,
291+ willDismiss : 1 ,
292+ didDismiss : 1
293+ } ) ;
294+
295+ cy . get ( 'ion-button#present-overlay' ) . click ( ) ;
296+ cy . get ( 'ion-modal' ) . should ( 'exist' ) ;
297+
298+ testLifecycle ( 'overlays' , {
299+ willPresent : 2 ,
300+ didPresent : 2 ,
301+ willDismiss : 1 ,
302+ didDismiss : 1
303+ } ) ;
304+
305+ cy . get ( 'ion-modal #dismiss' ) . click ( ) ;
306+
307+ testLifecycle ( 'overlays' , {
308+ willPresent : 2 ,
309+ didPresent : 2 ,
310+ willDismiss : 2 ,
311+ didDismiss : 2
312+ } ) ;
313+ } ) ;
314+
315+ it ( 'should fire long-form lifecycle events on controller overlays' , ( ) => {
316+ cy . get ( 'ion-radio#ion-modal' ) . click ( ) ;
317+ cy . get ( 'ion-radio#controller' ) . click ( ) ;
318+
319+ cy . get ( 'ion-button#present-overlay' ) . click ( ) ;
320+ cy . get ( 'ion-modal' ) . should ( 'exist' ) ;
321+
322+ testLongLifecycle ( 'overlays' , {
323+ willPresent : 1 ,
324+ didPresent : 1 ,
325+ willDismiss : 0 ,
326+ didDismiss : 0
327+ } ) ;
328+
329+ cy . get ( 'ion-modal #dismiss' ) . click ( ) ;
330+
331+ testLongLifecycle ( 'overlays' , {
332+ willPresent : 1 ,
333+ didPresent : 1 ,
334+ willDismiss : 1 ,
335+ didDismiss : 1
336+ } ) ;
337+
338+ cy . get ( 'ion-button#present-overlay' ) . click ( ) ;
339+ cy . get ( 'ion-modal' ) . should ( 'exist' ) ;
340+
341+ testLongLifecycle ( 'overlays' , {
342+ willPresent : 2 ,
343+ didPresent : 2 ,
344+ willDismiss : 1 ,
345+ didDismiss : 1
346+ } ) ;
347+
348+ cy . get ( 'ion-modal #dismiss' ) . click ( ) ;
349+
350+ testLongLifecycle ( 'overlays' , {
351+ willPresent : 2 ,
352+ didPresent : 2 ,
353+ willDismiss : 2 ,
354+ didDismiss : 2
355+ } ) ;
356+ } ) ;
357+
272358 it ( 'should unmount modal via component' , ( ) => {
273359 cy . get ( 'ion-radio#ion-modal' ) . click ( ) ;
274360 cy . get ( 'ion-radio#component' ) . click ( ) ;
0 commit comments