1
1
import { browser , element , by , protractor } from 'protractor' ;
2
- import { waitTime , testStack , testLifeCycle , handleErrorMessages } from './utils' ;
2
+ import { waitTime , testStack , testLifeCycle , handleErrorMessages , getText } from './utils' ;
3
3
4
4
const EC = protractor . ExpectedConditions ;
5
5
@@ -23,12 +23,13 @@ describe('router-link params and fragments', () => {
23
23
24
24
it ( 'should return to a page with preserved query param and fragment' , async ( ) => {
25
25
await browser . get ( '/router-link?ionic:_testing=true' ) ;
26
+ await waitTime ( 30 ) ;
26
27
await element ( by . css ( '#queryParamsFragment' ) ) . click ( ) ;
27
- await waitTime ( 200 ) ;
28
+ await waitTime ( 400 ) ;
28
29
await element ( by . css ( '#goToPage3' ) ) . click ( ) ;
29
30
30
31
browser . wait ( EC . urlContains ( 'router-link-page3' ) , 5000 ) ;
31
- await waitTime ( 200 ) ;
32
+ await waitTime ( 400 ) ;
32
33
33
34
await element ( by . css ( '#goBackFromPage3' ) ) . click ( ) ;
34
35
@@ -38,6 +39,7 @@ describe('router-link params and fragments', () => {
38
39
39
40
it ( 'should preserve query param and fragment with defaultHref string' , async ( ) => {
40
41
await browser . get ( '/router-link-page3?ionic:_testing=true' ) ;
42
+ await waitTime ( 30 ) ;
41
43
42
44
await element ( by . css ( '#goBackFromPage3' ) ) . click ( ) ;
43
45
@@ -71,18 +73,6 @@ describe('router-link', () => {
71
73
it ( 'should go forward with ion-button[routerLink]' , async ( ) => {
72
74
await element ( by . css ( '#routerLink' ) ) . click ( ) ;
73
75
await testForward ( ) ;
74
-
75
- // test go back
76
- await element ( by . css ( 'ion-back-button' ) ) . click ( ) ;
77
- await waitTime ( 500 ) ;
78
-
79
- await testStack ( 'ion-router-outlet' , [ 'app-router-link' ] ) ;
80
- await testLifeCycle ( 'app-router-link' , {
81
- ionViewWillEnter : 2 ,
82
- ionViewDidEnter : 2 ,
83
- ionViewWillLeave : 1 ,
84
- ionViewDidLeave : 1 ,
85
- } ) ;
86
76
} ) ;
87
77
88
78
it ( 'should go forward with a[routerLink]' , async ( ) => {
@@ -140,18 +130,23 @@ describe('router-link', () => {
140
130
async function testForward ( ) {
141
131
await waitTime ( 2500 ) ;
142
132
await testStack ( 'ion-router-outlet' , [ 'app-router-link' , 'app-router-link-page' ] ) ;
143
- await testLifeCycle ( 'app-router-link' , {
144
- ionViewWillEnter : 1 ,
145
- ionViewDidEnter : 1 ,
146
- ionViewWillLeave : 1 ,
147
- ionViewDidLeave : 1 ,
148
- } ) ;
149
133
await testLifeCycle ( 'app-router-link-page' , {
150
134
ionViewWillEnter : 1 ,
151
135
ionViewDidEnter : 1 ,
152
136
ionViewWillLeave : 0 ,
153
137
ionViewDidLeave : 0 ,
154
138
} ) ;
139
+ expect ( await getText ( `app-router-link-page #canGoBack` ) ) . toEqual ( 'true' ) ;
140
+
141
+ await browser . navigate ( ) . back ( ) ;
142
+ await waitTime ( 100 ) ;
143
+ await testStack ( 'ion-router-outlet' , [ 'app-router-link' ] ) ;
144
+ await testLifeCycle ( 'app-router-link' , {
145
+ ionViewWillEnter : 2 ,
146
+ ionViewDidEnter : 2 ,
147
+ ionViewWillLeave : 1 ,
148
+ ionViewDidLeave : 1 ,
149
+ } ) ;
155
150
}
156
151
157
152
async function testRoot ( ) {
@@ -163,6 +158,8 @@ async function testRoot() {
163
158
ionViewWillLeave : 0 ,
164
159
ionViewDidLeave : 0 ,
165
160
} ) ;
161
+ expect ( await getText ( `app-router-link-page #canGoBack` ) ) . toEqual ( 'false' ) ;
162
+
166
163
await browser . navigate ( ) . back ( ) ;
167
164
await waitTime ( 100 ) ;
168
165
await testStack ( 'ion-router-outlet' , [ 'app-router-link' ] ) ;
@@ -183,4 +180,15 @@ async function testBack() {
183
180
ionViewWillLeave : 0 ,
184
181
ionViewDidLeave : 0 ,
185
182
} ) ;
183
+ expect ( await getText ( `app-router-link-page #canGoBack` ) ) . toEqual ( 'false' ) ;
184
+
185
+ await browser . navigate ( ) . back ( ) ;
186
+ await waitTime ( 100 ) ;
187
+ await testStack ( 'ion-router-outlet' , [ 'app-router-link' ] ) ;
188
+ await testLifeCycle ( 'app-router-link' , {
189
+ ionViewWillEnter : 1 ,
190
+ ionViewDidEnter : 1 ,
191
+ ionViewWillLeave : 0 ,
192
+ ionViewDidLeave : 0 ,
193
+ } ) ;
186
194
}
0 commit comments