@@ -55,14 +55,62 @@ describe('Lifecycle', () => {
55
55
onIonViewDidLeave : 0
56
56
} ) ;
57
57
} ) ;
58
+
59
+ it ( 'should fire lifecycle events when navigating to and from a page - setup' , ( ) => {
60
+ cy . visit ( 'http://localhost:8080' ) ;
61
+ cy . get ( '#lifecycle-setup' ) . click ( ) ;
62
+
63
+ testLifecycle ( 'lifecycle-setup' , {
64
+ onIonViewWillEnter : 1 ,
65
+ onIonViewDidEnter : 1 ,
66
+ onIonViewWillLeave : 0 ,
67
+ onIonViewDidLeave : 0
68
+ } ) ;
69
+
70
+ cy . get ( '#lifecycle-navigation' ) . click ( ) ;
71
+
72
+ testLifecycle ( 'lifecycle-setup' , {
73
+ onIonViewWillEnter : 1 ,
74
+ onIonViewDidEnter : 1 ,
75
+ onIonViewWillLeave : 1 ,
76
+ onIonViewDidLeave : 1
77
+ } ) ;
78
+
79
+ cy . ionBackClick ( 'navigation' ) ;
80
+
81
+ testLifecycle ( 'lifecycle-setup' , {
82
+ onIonViewWillEnter : 2 ,
83
+ onIonViewDidEnter : 2 ,
84
+ onIonViewWillLeave : 1 ,
85
+ onIonViewDidLeave : 1
86
+ } ) ;
87
+ } ) ;
88
+
89
+ it ( 'should fire lifecycle events when landed on directly - setup' , ( ) => {
90
+ cy . visit ( 'http://localhost:8080/lifecycle-setup' ) ;
91
+
92
+ testLifecycle ( 'lifecycle-setup' , {
93
+ onIonViewWillEnter : 1 ,
94
+ onIonViewDidEnter : 1 ,
95
+ onIonViewWillLeave : 0 ,
96
+ onIonViewDidLeave : 0
97
+ } ) ;
98
+ } ) ;
58
99
} )
59
100
60
101
const testLifecycle = ( selector , expected = { } ) => {
61
- cy . get ( `[data-pageid=${ selector } ] #willEnter` ) . should ( 'have.text' , expected . ionViewWillEnter ) ;
62
- cy . get ( `[data-pageid=${ selector } ] #didEnter` ) . should ( 'have.text' , expected . ionViewDidEnter ) ;
63
- cy . get ( `[data-pageid=${ selector } ] #willLeave` ) . should ( 'have.text' , expected . ionViewWillLeave ) ;
64
- cy . get ( `[data-pageid=${ selector } ] #didLeave` ) . should ( 'have.text' , expected . ionViewDidLeave ) ;
65
-
102
+ if ( expected . ionViewWillEnter ) {
103
+ cy . get ( `[data-pageid=${ selector } ] #willEnter` ) . should ( 'have.text' , expected . ionViewWillEnter ) ;
104
+ }
105
+ if ( expected . ionViewDidEnter ) {
106
+ cy . get ( `[data-pageid=${ selector } ] #didEnter` ) . should ( 'have.text' , expected . ionViewDidEnter ) ;
107
+ }
108
+ if ( expected . ionViewWillLeave ) {
109
+ cy . get ( `[data-pageid=${ selector } ] #willLeave` ) . should ( 'have.text' , expected . ionViewWillLeave ) ;
110
+ }
111
+ if ( expected . ionViewDidLeave ) {
112
+ cy . get ( `[data-pageid=${ selector } ] #didLeave` ) . should ( 'have.text' , expected . ionViewDidLeave ) ;
113
+ }
66
114
cy . get ( `[data-pageid=${ selector } ] #onWillEnter` ) . should ( 'have.text' , expected . onIonViewWillEnter ) ;
67
115
cy . get ( `[data-pageid=${ selector } ] #onDidEnter` ) . should ( 'have.text' , expected . onIonViewDidEnter ) ;
68
116
cy . get ( `[data-pageid=${ selector } ] #onWillLeave` ) . should ( 'have.text' , expected . onIonViewWillLeave ) ;
0 commit comments