@@ -25,7 +25,7 @@ describe("Simple navigate and back", () => {
25
25
} ) ;
26
26
27
27
it ( "should navigate to Second(1)/master" , async ( ) => {
28
- await goFromFirstToSecond ( driverWrapper ) ;
28
+ await findAndClick ( driverWrapper , "GO TO SECOND" ) ;
29
29
30
30
await assureSecondComponent ( driverWrapper , 1 ) ;
31
31
await assureNestedMasterComponent ( driverWrapper ) ;
@@ -56,7 +56,7 @@ describe("Navigate inside nested outlet", () => {
56
56
} ) ;
57
57
58
58
it ( "should navigate to Second(1)/master" , async ( ) => {
59
- await goFromFirstToSecond ( driverWrapper ) ;
59
+ await findAndClick ( driverWrapper , "GO TO SECOND" ) ;
60
60
61
61
await assureSecondComponent ( driverWrapper , 1 )
62
62
await assureNestedMasterComponent ( driverWrapper ) ;
@@ -109,7 +109,7 @@ describe("Navigate to same component with different param", () => {
109
109
} ) ;
110
110
111
111
it ( "should navigate to Second(1)/master" , async ( ) => {
112
- await goFromFirstToSecond ( driverWrapper ) ;
112
+ await findAndClick ( driverWrapper , "GO TO SECOND" ) ;
113
113
114
114
await assureSecondComponent ( driverWrapper , 1 )
115
115
await assureNestedMasterComponent ( driverWrapper ) ;
@@ -156,7 +156,7 @@ describe("Nested navigation + page navigation", () => {
156
156
} ) ;
157
157
158
158
it ( "should navigate to Second(1)/master" , async ( ) => {
159
- await goFromFirstToSecond ( driverWrapper ) ;
159
+ await findAndClick ( driverWrapper , "GO TO SECOND" ) ;
160
160
161
161
await assureSecondComponent ( driverWrapper , 1 )
162
162
await assureNestedMasterComponent ( driverWrapper ) ;
@@ -188,9 +188,7 @@ describe("Nested navigation + page navigation", () => {
188
188
} ) ;
189
189
190
190
it ( "should navigate to First" , async ( ) => {
191
- const navigationButton =
192
- await driverWrapper . findElementByText ( "GO TO FIRST" , SearchOptions . exact ) ;
193
- navigationButton . click ( ) ;
191
+ await findAndClick ( driverWrapper , "GO TO FIRST" ) ;
194
192
195
193
await assureFirstComponent ( driverWrapper ) ;
196
194
} ) ;
@@ -260,16 +258,15 @@ describe("Shouldn't be able to navigate back after cleared history", () => {
260
258
} ) ;
261
259
262
260
it ( "should navigate to Second(1)/master" , async ( ) => {
263
- await goFromFirstToSecond ( driverWrapper ) ;
261
+ await findAndClick ( driverWrapper , "GO TO SECOND" ) ;
264
262
265
263
await assureSecondComponent ( driverWrapper , 1 )
266
264
await assureNestedMasterComponent ( driverWrapper ) ;
267
265
} ) ;
268
266
269
267
it ( "should navigate to Second(1)/master" , async ( ) => {
270
- const navigationButton =
271
- await driverWrapper . findElementByText ( "GO TO FIRST(CLEAR)" , SearchOptions . exact ) ;
272
- navigationButton . click ( ) ;
268
+ await findAndClick ( driverWrapper , "GO TO FIRST(CLEAR)" ) ;
269
+
273
270
await assureFirstComponent ( driverWrapper ) ;
274
271
} ) ;
275
272
@@ -279,10 +276,157 @@ describe("Shouldn't be able to navigate back after cleared history", () => {
279
276
} ) ;
280
277
} ) ;
281
278
279
+ describe ( "Navigate to componentless route" , ( ) => {
280
+ let driver : AppiumDriver ;
281
+ let driverWrapper : DriverWrapper ;
282
+
283
+ before ( async ( ) => {
284
+ driver = await createDriver ( ) ;
285
+ driverWrapper = new DriverWrapper ( driver ) ;
286
+ } ) ;
287
+
288
+ after ( async ( ) => {
289
+ await driver . quit ( ) ;
290
+ console . log ( "Driver quits!" ) ;
291
+ } ) ;
292
+
293
+ it ( "should find First" , async ( ) => {
294
+ await assureFirstComponent ( driverWrapper ) ;
295
+ } ) ;
296
+
297
+ it ( "should navigate to ComponentlessSecond(100)/detail(200)" , async ( ) => {
298
+ const navigationButton =
299
+ await driverWrapper . findElementByText ( "GO TO C-LESS SECOND" , SearchOptions . exact ) ;
300
+ navigationButton . click ( ) ;
301
+
302
+ await assureSecondComponent ( driverWrapper , 100 )
303
+ await assureNestedDetailComponent ( driverWrapper , 200 ) ;
304
+ } ) ;
305
+
306
+ it ( "should navigate to First" , async ( ) => {
307
+ await findAndClick ( driverWrapper , "GO TO FIRST" ) ;
308
+
309
+ await assureFirstComponent ( driverWrapper ) ;
310
+ } ) ;
311
+
312
+ it ( "should navigate the whole stack" , async ( ) => {
313
+ await goBack ( driverWrapper ) ;
314
+ await assureSecondComponent ( driverWrapper , 100 )
315
+ await assureNestedDetailComponent ( driverWrapper , 200 ) ;
316
+
317
+ await goBack ( driverWrapper ) ;
318
+ await assureFirstComponent ( driverWrapper ) ;
319
+ } ) ;
320
+ } ) ;
321
+
322
+ describe ( "Navigate to lazy module" , ( ) => {
323
+ let driver : AppiumDriver ;
324
+ let driverWrapper : DriverWrapper ;
325
+
326
+ before ( async ( ) => {
327
+ driver = await createDriver ( ) ;
328
+ driverWrapper = new DriverWrapper ( driver ) ;
329
+ } ) ;
330
+
331
+ after ( async ( ) => {
332
+ await driver . quit ( ) ;
333
+ console . log ( "Driver quits!" ) ;
334
+ } ) ;
335
+
336
+ it ( "should find First" , async ( ) => {
337
+ await assureFirstComponent ( driverWrapper ) ;
338
+ } ) ;
339
+
340
+ it ( "should navigate to lazy/home" , async ( ) => {
341
+ await findAndClick ( driverWrapper , "GO TO LAZY HOME" ) ;
342
+
343
+ await assureLazyComponent ( driverWrapper ) ;
344
+ } ) ;
345
+
346
+ it ( "should navigate to First" , async ( ) => {
347
+ await findAndClick ( driverWrapper , "GO TO FIRST" ) ;
348
+ await assureFirstComponent ( driverWrapper ) ;
349
+ } ) ;
350
+
351
+ it ( "should navigate back to lazy/home" , async ( ) => {
352
+ await goBack ( driverWrapper ) ;
353
+ await assureLazyComponent ( driverWrapper ) ;
354
+ } ) ;
355
+
356
+ it ( "should navigate to First again" , async ( ) => {
357
+ await findAndClick ( driverWrapper , "GO TO FIRST" ) ;
358
+ await assureFirstComponent ( driverWrapper ) ;
359
+ } ) ;
360
+
361
+ it ( "should navigate the whole stack" , async ( ) => {
362
+ await goBack ( driverWrapper ) ;
363
+ await assureLazyComponent ( driverWrapper ) ;
364
+
365
+ await goBack ( driverWrapper ) ;
366
+ await assureFirstComponent ( driverWrapper ) ;
367
+ } ) ;
368
+ } ) ;
369
+
370
+ describe ( "Navigate to componentless lazy module route" , ( ) => {
371
+ let driver : AppiumDriver ;
372
+ let driverWrapper : DriverWrapper ;
373
+
374
+ before ( async ( ) => {
375
+ driver = await createDriver ( ) ;
376
+ driverWrapper = new DriverWrapper ( driver ) ;
377
+ } ) ;
378
+
379
+ after ( async ( ) => {
380
+ await driver . quit ( ) ;
381
+ console . log ( "Driver quits!" ) ;
382
+ } ) ;
383
+
384
+ it ( "should find First" , async ( ) => {
385
+ await assureFirstComponent ( driverWrapper ) ;
386
+ } ) ;
387
+
388
+ it ( "should navigate to nest/more (componentless lazy route)" , async ( ) => {
389
+ await findAndClick ( driverWrapper , "GO TO C-LESS LAZY" ) ;
390
+
391
+ await assureComponentlessLazyComponent ( driverWrapper ) ;
392
+ } ) ;
393
+
394
+ it ( "should navigate to lazy/home" , async ( ) => {
395
+ await findAndClick ( driverWrapper , "GO TO LAZY HOME" ) ;
396
+
397
+ await assureLazyComponent ( driverWrapper ) ;
398
+ } ) ;
399
+
400
+ it ( "should navigate to First" , async ( ) => {
401
+ await findAndClick ( driverWrapper , "GO TO FIRST" ) ;
402
+
403
+ await assureFirstComponent ( driverWrapper ) ;
404
+ } ) ;
405
+
406
+ it ( "should navigate the whole stack" , async ( ) => {
407
+ await goBack ( driverWrapper ) ;
408
+ await assureLazyComponent ( driverWrapper ) ;
409
+
410
+ await goBack ( driverWrapper ) ;
411
+ await assureComponentlessLazyComponent ( driverWrapper ) ;
412
+
413
+ await goBack ( driverWrapper ) ;
414
+ await assureFirstComponent ( driverWrapper ) ;
415
+ } ) ;
416
+ } ) ;
417
+
282
418
async function assureFirstComponent ( driverWrapper : DriverWrapper ) {
283
419
await driverWrapper . findElementByText ( "FirstComponent" , SearchOptions . exact ) ;
284
420
}
285
421
422
+ async function assureLazyComponent ( driverWrapper : DriverWrapper ) {
423
+ await driverWrapper . findElementByText ( "LazyComponent" , SearchOptions . exact ) ;
424
+ }
425
+
426
+ async function assureComponentlessLazyComponent ( driverWrapper : DriverWrapper ) {
427
+ await driverWrapper . findElementByText ( "Lazy Componentless Route" , SearchOptions . exact ) ;
428
+ }
429
+
286
430
async function assureSecondComponent ( driverWrapper : DriverWrapper , param : number ) {
287
431
await driverWrapper . findElementByText ( "SecondComponent" , SearchOptions . exact ) ;
288
432
await driverWrapper . findElementByText ( `param: ${ param } ` , SearchOptions . exact ) ;
@@ -302,8 +446,8 @@ async function goBack(driverWrapper: DriverWrapper) {
302
446
await backButton . click ( ) ;
303
447
}
304
448
305
- async function goFromFirstToSecond ( driverWrapper : DriverWrapper ) {
449
+ async function findAndClick ( driverWrapper : DriverWrapper , text : string ) {
306
450
const navigationButton =
307
- await driverWrapper . findElementByText ( "GO TO SECOND" , SearchOptions . exact ) ;
451
+ await driverWrapper . findElementByText ( text , SearchOptions . exact ) ;
308
452
navigationButton . click ( ) ;
309
453
}
0 commit comments