@@ -89,20 +89,6 @@ test.describe('Verify tooltips', () => {
89
89
await expandEntireTree ( page ) ;
90
90
} ) ;
91
91
92
- // LAD Tables - DONE
93
- // Expanded collapsed plot legend - DONE
94
- // Object Labels - DONE
95
- // Display Layout headers - DONE
96
- // Flexible Layout headers - DONE
97
- // Tab View layout headers - DONE
98
- // Search - DONE
99
- // Gauge -
100
- // Notebook Embed - DONE
101
- // Telemetry Table -
102
- // Timeline Objects
103
- // Tree - DONE
104
- // Recent Objects
105
-
106
92
test ( 'display correct paths for LAD tables' , async ( { page, openmctConfig } ) => {
107
93
// Create LAD table
108
94
await createDomainObjectWithDefaults ( page , {
@@ -254,13 +240,13 @@ test.describe('Verify tooltips', () => {
254
240
tooltipText = tooltipText . replace ( '\n' , '' ) . trim ( ) ;
255
241
expect ( tooltipText ) . toBe ( 'My Items / Test Overlay Plot' ) ;
256
242
257
- // await page.keyboard.up('Control');
258
- // await page.locator('.c-plot-legend__view-control >> nth=0').click();
259
- // await page.keyboard.down('Control');
260
- // await page.locator('.plot-wrapper-expanded-legend .plot-series-name').first().hover();
261
- // tooltipText = await page.locator('.c-tooltip').textContent();
262
- // tooltipText = tooltipText.replace('\n', '').trim();
263
- // expect(tooltipText).toBe(sineWaveObject1.path);
243
+ await page . keyboard . up ( 'Control' ) ;
244
+ await page . locator ( '.c-plot-legend__view-control >> nth=0' ) . click ( ) ;
245
+ await page . keyboard . down ( 'Control' ) ;
246
+ await page . locator ( '.plot-wrapper-expanded-legend .plot-series-name' ) . first ( ) . hover ( ) ;
247
+ tooltipText = await page . locator ( '.c-tooltip' ) . textContent ( ) ;
248
+ tooltipText = tooltipText . replace ( '\n' , '' ) . trim ( ) ;
249
+ expect ( tooltipText ) . toBe ( sineWaveObject1 . path ) ;
264
250
265
251
await page . getByText ( 'Test Stacked Plot' ) . nth ( 2 ) . hover ( ) ;
266
252
tooltipText = await page . locator ( '.c-tooltip' ) . textContent ( ) ;
@@ -345,18 +331,18 @@ test.describe('Verify tooltips', () => {
345
331
expect ( tooltipText ) . toBe ( sineWaveObject3 . path ) ;
346
332
} ) ;
347
333
348
- test ( 'display path for source telemetry when hovering over gauge' , ( { page } ) => {
349
- expect ( true ) . toBe ( true ) ;
350
- // await createDomainObjectWithDefaults(page, {
351
- // type : 'Gauge',
352
- // name: 'Test Gauge'
353
- // } );
354
- // await page.dragAndDrop(`text=${sineWaveObject3.name}`, '.c-gauge__wrapper ');
355
- // await page.keyboard.down('Control');
356
- // await page.locator('.c-gauge__current-value-text-wrapper ').hover();
357
- // let tooltipText = await page.locator('.c-tooltip').textContent();
358
- // tooltipText = tooltipText.replace('\n', '').trim();
359
- // expect(tooltipText).toBe(sineWaveObject3.path);
334
+ test ( 'display path for source telemetry when hovering over gauge' , async ( { page } ) => {
335
+ await createDomainObjectWithDefaults ( page , {
336
+ type : 'Gauge' ,
337
+ name : 'Test Gauge'
338
+ } ) ;
339
+ await page . dragAndDrop ( `text= ${ sineWaveObject3 . name } ` , '.c-gauge__wrapper' ) ;
340
+ await page . keyboard . down ( 'Control ') ;
341
+ // eslint-disable-next-line playwright/no-force-option
342
+ await page . locator ( '.c-gauge.c-dial ' ) . hover ( { position : { x : 0 , y : 0 } , force : true } ) ;
343
+ let tooltipText = await page . locator ( '.c-tooltip' ) . textContent ( ) ;
344
+ tooltipText = tooltipText . replace ( '\n' , '' ) . trim ( ) ;
345
+ expect ( tooltipText ) . toBe ( sineWaveObject3 . path ) ;
360
346
} ) ;
361
347
362
348
test ( 'display tooltip path for notebook embeds' , async ( { page } ) => {
@@ -373,26 +359,105 @@ test.describe('Verify tooltips', () => {
373
359
expect ( tooltipText ) . toBe ( sineWaveObject3 . path ) ;
374
360
} ) ;
375
361
376
- // test('display tooltip path for telemetry table names', async ({ page }) => {
377
- // await setEndOffset(page, { secs: '10' });
378
- // await createDomainObjectWithDefaults(page, {
379
- // type: 'Telemetry Table',
380
- // name: 'Test Telemetry Table'
381
- // });
362
+ test ( 'display tooltip path for telemetry table names' , async ( { page } ) => {
363
+ // set endBound to 10 seconds after start bound
364
+ const url = await page . url ( ) ;
365
+ const parsedUrl = new URL ( url . replace ( '#' , '!' ) ) ;
366
+ const startBound = Number ( parsedUrl . searchParams . get ( 'tc.startBound' ) ) ;
367
+ const tenSecondsInMilliseconds = 10 * 1000 ;
368
+ const endBound = startBound + tenSecondsInMilliseconds ;
369
+ parsedUrl . searchParams . set ( 'tc.endBound' , endBound ) ;
370
+ await page . goto ( parsedUrl . href . replace ( '!' , '#' ) ) ;
371
+
372
+ await createDomainObjectWithDefaults ( page , {
373
+ type : 'Telemetry Table' ,
374
+ name : 'Test Telemetry Table'
375
+ } ) ;
376
+
377
+ await page . dragAndDrop ( `text=${ sineWaveObject1 . name } ` , '.c-telemetry-table' ) ;
378
+ await page . dragAndDrop ( `text=${ sineWaveObject3 . name } ` , '.c-telemetry-table' ) ;
379
+
380
+ await page . locator ( 'button[title="Save"]' ) . click ( ) ;
381
+ await page . locator ( 'text=Save and Finish Editing' ) . click ( ) ;
382
+ await page . keyboard . down ( 'Control' ) ;
383
+
384
+ await page . locator ( '.noselect > [title="SWG 3"]' ) . first ( ) . hover ( ) ;
385
+ let tooltipText = await page . locator ( '.c-tooltip' ) . textContent ( ) ;
386
+ tooltipText = tooltipText . replace ( '\n' , '' ) . trim ( ) ;
387
+ expect ( tooltipText ) . toBe ( sineWaveObject3 . path ) ;
388
+
389
+ await page . locator ( '.noselect > [title="SWG 1"]' ) . first ( ) . hover ( ) ;
390
+ tooltipText = await page . locator ( '.c-tooltip' ) . textContent ( ) ;
391
+ tooltipText = tooltipText . replace ( '\n' , '' ) . trim ( ) ;
392
+ expect ( tooltipText ) . toBe ( sineWaveObject1 . path ) ;
393
+ } ) ;
394
+
395
+ test ( 'display tooltip path for recently viewed items' , async ( { page } ) => {
396
+ // drag up Recently Viewed pane
397
+ await page
398
+ . locator ( '.l-pane.l-pane--vertical-handle-before' , {
399
+ hasText : 'Recently Viewed'
400
+ } )
401
+ . locator ( '.l-pane__handle' )
402
+ . hover ( ) ;
403
+ await page . mouse . down ( ) ;
404
+ await page . mouse . move ( 0 , 300 ) ;
405
+ await page . mouse . up ( ) ;
382
406
383
- // await page.dragAndDrop(`text=${sineWaveObject1.name}`, '.c-telemetry-table');
384
- // await page.dragAndDrop(`text=${sineWaveObject3.name}`, '.c-telemetry-table');
407
+ await page . keyboard . down ( 'Control' ) ;
408
+ await page . getByLabel ( 'Recent Objects' ) . getByText ( sineWaveObject3 . name ) . hover ( ) ;
409
+ let tooltipText = await page . locator ( '.c-tooltip' ) . textContent ( ) ;
410
+ tooltipText = tooltipText . replace ( '\n' , '' ) . trim ( ) ;
411
+ expect ( tooltipText ) . toBe ( sineWaveObject3 . path ) ;
385
412
386
- // await page.locator('button[title="Save"]').click();
387
- // await page.locator('text=Save and Finish Editing').click();
413
+ await page . getByLabel ( 'Recent Objects' ) . getByText ( sineWaveObject2 . name ) . hover ( ) ;
414
+ tooltipText = await page . locator ( '.c-tooltip' ) . textContent ( ) ;
415
+ tooltipText = tooltipText . replace ( '\n' , '' ) . trim ( ) ;
416
+ expect ( tooltipText ) . toBe ( sineWaveObject2 . path ) ;
388
417
389
- // // .c-telemetry-table__body
418
+ await page . getByLabel ( 'Recent Objects' ) . getByText ( sineWaveObject1 . name ) . hover ( ) ;
419
+ tooltipText = await page . locator ( '.c-tooltip' ) . textContent ( ) ;
420
+ tooltipText = tooltipText . replace ( '\n' , '' ) . trim ( ) ;
421
+ expect ( tooltipText ) . toBe ( sineWaveObject1 . path ) ;
422
+ } ) ;
390
423
391
- // await page.keyboard.down('Control');
424
+ test ( 'display tooltip path for time strips' , async ( { page } ) => {
425
+ // Create Time Strip
426
+ await createDomainObjectWithDefaults ( page , {
427
+ type : 'Time Strip' ,
428
+ name : 'Test Time Strip'
429
+ } ) ;
430
+ // Edit Overlay Plot
431
+ await page . locator ( '[title="Edit"]' ) . click ( ) ;
432
+ await page . dragAndDrop (
433
+ `text=${ sineWaveObject1 . name } ` ,
434
+ '.c-object-view.is-object-type-time-strip'
435
+ ) ;
436
+ await page . dragAndDrop (
437
+ `text=${ sineWaveObject2 . name } ` ,
438
+ '.c-object-view.is-object-type-time-strip'
439
+ ) ;
440
+ await page . dragAndDrop (
441
+ `text=${ sineWaveObject3 . name } ` ,
442
+ '.c-object-view.is-object-type-time-strip'
443
+ ) ;
444
+ await page . locator ( 'button[title="Save"]' ) . click ( ) ;
445
+ await page . locator ( 'text=Save and Finish Editing' ) . click ( ) ;
446
+
447
+ await page . keyboard . down ( 'Control' ) ;
448
+ await page . getByText ( sineWaveObject1 . name ) . nth ( 2 ) . hover ( ) ;
449
+ let tooltipText = await page . locator ( '.c-tooltip' ) . textContent ( ) ;
450
+ tooltipText = tooltipText . replace ( '\n' , '' ) . trim ( ) ;
451
+ expect ( tooltipText ) . toBe ( sineWaveObject1 . path ) ;
392
452
393
- // await page.locator('.noselect > [title="SWG 3"]').first().hover();
394
- // let tooltipText = await page.locator('.c-tooltip').textContent();
395
- // tooltipText = tooltipText.replace('\n', '').trim();
396
- // expect(tooltipText).toBe(sineWaveObject3.path);
397
- // });
453
+ await page . getByText ( sineWaveObject2 . name ) . nth ( 2 ) . hover ( ) ;
454
+ tooltipText = await page . locator ( '.c-tooltip' ) . textContent ( ) ;
455
+ tooltipText = tooltipText . replace ( '\n' , '' ) . trim ( ) ;
456
+ expect ( tooltipText ) . toBe ( sineWaveObject2 . path ) ;
457
+
458
+ await page . getByText ( sineWaveObject3 . name ) . nth ( 2 ) . hover ( ) ;
459
+ tooltipText = await page . locator ( '.c-tooltip' ) . textContent ( ) ;
460
+ tooltipText = tooltipText . replace ( '\n' , '' ) . trim ( ) ;
461
+ expect ( tooltipText ) . toBe ( sineWaveObject3 . path ) ;
462
+ } ) ;
398
463
} ) ;
0 commit comments