@@ -430,6 +430,82 @@ test.describe('Popup',
430
430
} ) ;
431
431
} ) ;
432
432
433
+ test . describe ( 'Popup Geometry' ,
434
+ {
435
+ tag : [ '@readonly' ] ,
436
+ } , ( ) => {
437
+
438
+ test ( 'Show/hide the geometry on open/close dock' , async ( { page } ) => {
439
+ const project = new ProjectPage ( page , 'feature_toolbar' ) ;
440
+ await project . open ( ) ;
441
+
442
+ // Get default buffer with one point
443
+ let buffer = await page . screenshot ( { clip :{ x :425 , y :325 , width :100 , height :100 } } ) ;
444
+ const defaultByteLength = buffer . byteLength ;
445
+ await expect ( defaultByteLength ) . toBeGreaterThan ( 900 ) ; // 906
446
+ await expect ( defaultByteLength ) . toBeLessThan ( 1000 ) // 906
447
+
448
+ // Click on a point
449
+ let getFeatureInfoPromise = project . waitForGetFeatureInfoRequest ( ) ;
450
+ await project . clickOnMap ( 436 , 290 ) ;
451
+ let getFeatureInfoRequest = await getFeatureInfoPromise ;
452
+ await getFeatureInfoRequest . response ( ) ;
453
+
454
+ // The geometry is displayed
455
+ buffer = await page . screenshot ( { clip :{ x :425 , y :325 , width :100 , height :100 } } ) ;
456
+ await expect ( buffer . byteLength ) . not . toBe ( defaultByteLength ) ;
457
+ await expect ( buffer . byteLength ) . toBeGreaterThan ( defaultByteLength ) ;
458
+
459
+ // Close popup
460
+ page . locator ( '#button-popupcontent' ) . click ( ) ;
461
+ await page . waitForTimeout ( 50 ) ;
462
+
463
+ buffer = await page . screenshot ( { clip :{ x :425 , y :325 , width :100 , height :100 } } ) ;
464
+ await expect ( buffer . byteLength ) . toBe ( defaultByteLength ) ;
465
+
466
+ // Open popup
467
+ page . locator ( '#button-popupcontent' ) . click ( ) ;
468
+ await page . waitForTimeout ( 50 ) ;
469
+
470
+ buffer = await page . screenshot ( { clip :{ x :425 , y :325 , width :100 , height :100 } } ) ;
471
+ await expect ( buffer . byteLength ) . not . toBe ( defaultByteLength ) ;
472
+ await expect ( buffer . byteLength ) . toBeGreaterThan ( defaultByteLength ) ;
473
+ } ) ;
474
+
475
+ test ( 'Show/hide the geometry on click on the map' , async ( { page } ) => {
476
+ const project = new ProjectPage ( page , 'feature_toolbar' ) ;
477
+ await project . open ( ) ;
478
+
479
+ // Get default buffer with one point
480
+ let buffer = await page . screenshot ( { clip :{ x :425 , y :325 , width :100 , height :100 } } ) ;
481
+ const defaultByteLength = buffer . byteLength ;
482
+ await expect ( defaultByteLength ) . toBeGreaterThan ( 900 ) ; // 906
483
+ await expect ( defaultByteLength ) . toBeLessThan ( 1000 ) // 906
484
+
485
+ // Click on a point
486
+ let getFeatureInfoPromise = project . waitForGetFeatureInfoRequest ( ) ;
487
+ await project . clickOnMap ( 436 , 290 ) ;
488
+ let getFeatureInfoRequest = await getFeatureInfoPromise ;
489
+ await getFeatureInfoRequest . response ( ) ;
490
+
491
+ // The geometry is displayed
492
+ buffer = await page . screenshot ( { clip :{ x :425 , y :325 , width :100 , height :100 } } ) ;
493
+ await expect ( buffer . byteLength ) . not . toBe ( defaultByteLength ) ;
494
+ await expect ( buffer . byteLength ) . toBeGreaterThan ( defaultByteLength ) ;
495
+
496
+ // Not click on a point
497
+ getFeatureInfoPromise = project . waitForGetFeatureInfoRequest ( ) ;
498
+ await project . clickOnMap ( 536 , 290 ) ;
499
+ getFeatureInfoRequest = await getFeatureInfoPromise ;
500
+ await getFeatureInfoRequest . response ( ) ;
501
+ await page . waitForTimeout ( 500 ) ; // wait to be sure
502
+
503
+ // Nothing
504
+ buffer = await page . screenshot ( { clip :{ x :425 , y :325 , width :100 , height :100 } } ) ;
505
+ await expect ( buffer . byteLength ) . toBe ( defaultByteLength ) ;
506
+ } ) ;
507
+ } ) ;
508
+
433
509
test . describe ( 'Children in popup' , ( ) => {
434
510
435
511
test . beforeEach ( async ( { page } ) => {
0 commit comments