[Tooltips] Finish tests for gauges, telemetry tables, recently viewed items, and time strips (#7145)

Finish tests for gauge, telemetry tables, recently viewed items, and time strips

Co-authored-by: David Tsay <3614296+davetsay@users.noreply.github.com>
This commit is contained in:
Khalid Adil
2023-10-24 17:06:40 -05:00
committed by GitHub
parent 13311b9fc8
commit 8f92cd4206
2 changed files with 116 additions and 51 deletions

View File

@@ -89,20 +89,6 @@ test.describe('Verify tooltips', () => {
await expandEntireTree(page); await expandEntireTree(page);
}); });
// LAD Tables - DONE
// Expanded collapsed plot legend - DONE
// Object Labels - DONE
// Display Layout headers - DONE
// Flexible Layout headers - DONE
// Tab View layout headers - DONE
// Search - DONE
// Gauge -
// Notebook Embed - DONE
// Telemetry Table -
// Timeline Objects
// Tree - DONE
// Recent Objects
test('display correct paths for LAD tables', async ({ page, openmctConfig }) => { test('display correct paths for LAD tables', async ({ page, openmctConfig }) => {
// Create LAD table // Create LAD table
await createDomainObjectWithDefaults(page, { await createDomainObjectWithDefaults(page, {
@@ -254,13 +240,13 @@ test.describe('Verify tooltips', () => {
tooltipText = tooltipText.replace('\n', '').trim(); tooltipText = tooltipText.replace('\n', '').trim();
expect(tooltipText).toBe('My Items / Test Overlay Plot'); expect(tooltipText).toBe('My Items / Test Overlay Plot');
// await page.keyboard.up('Control'); await page.keyboard.up('Control');
// await page.locator('.c-plot-legend__view-control >> nth=0').click(); await page.locator('.c-plot-legend__view-control >> nth=0').click();
// await page.keyboard.down('Control'); await page.keyboard.down('Control');
// await page.locator('.plot-wrapper-expanded-legend .plot-series-name').first().hover(); await page.locator('.plot-wrapper-expanded-legend .plot-series-name').first().hover();
// tooltipText = await page.locator('.c-tooltip').textContent(); tooltipText = await page.locator('.c-tooltip').textContent();
// tooltipText = tooltipText.replace('\n', '').trim(); tooltipText = tooltipText.replace('\n', '').trim();
// expect(tooltipText).toBe(sineWaveObject1.path); expect(tooltipText).toBe(sineWaveObject1.path);
await page.getByText('Test Stacked Plot').nth(2).hover(); await page.getByText('Test Stacked Plot').nth(2).hover();
tooltipText = await page.locator('.c-tooltip').textContent(); tooltipText = await page.locator('.c-tooltip').textContent();
@@ -345,18 +331,18 @@ test.describe('Verify tooltips', () => {
expect(tooltipText).toBe(sineWaveObject3.path); expect(tooltipText).toBe(sineWaveObject3.path);
}); });
test('display path for source telemetry when hovering over gauge', ({ page }) => { test('display path for source telemetry when hovering over gauge', async ({ page }) => {
expect(true).toBe(true); await createDomainObjectWithDefaults(page, {
// await createDomainObjectWithDefaults(page, { type: 'Gauge',
// type: 'Gauge', name: 'Test Gauge'
// name: 'Test Gauge' });
// }); await page.dragAndDrop(`text=${sineWaveObject3.name}`, '.c-gauge__wrapper');
// await page.dragAndDrop(`text=${sineWaveObject3.name}`, '.c-gauge__wrapper'); await page.keyboard.down('Control');
// await page.keyboard.down('Control'); // eslint-disable-next-line playwright/no-force-option
// await page.locator('.c-gauge__current-value-text-wrapper').hover(); await page.locator('.c-gauge.c-dial').hover({ position: { x: 0, y: 0 }, force: true });
// let tooltipText = await page.locator('.c-tooltip').textContent(); let tooltipText = await page.locator('.c-tooltip').textContent();
// tooltipText = tooltipText.replace('\n', '').trim(); tooltipText = tooltipText.replace('\n', '').trim();
// expect(tooltipText).toBe(sineWaveObject3.path); expect(tooltipText).toBe(sineWaveObject3.path);
}); });
test('display tooltip path for notebook embeds', async ({ page }) => { test('display tooltip path for notebook embeds', async ({ page }) => {
@@ -373,26 +359,105 @@ test.describe('Verify tooltips', () => {
expect(tooltipText).toBe(sineWaveObject3.path); expect(tooltipText).toBe(sineWaveObject3.path);
}); });
// test('display tooltip path for telemetry table names', async ({ page }) => { test('display tooltip path for telemetry table names', async ({ page }) => {
// await setEndOffset(page, { secs: '10' }); // set endBound to 10 seconds after start bound
// await createDomainObjectWithDefaults(page, { const url = await page.url();
// type: 'Telemetry Table', const parsedUrl = new URL(url.replace('#', '!'));
// name: 'Test Telemetry Table' const startBound = Number(parsedUrl.searchParams.get('tc.startBound'));
// }); const tenSecondsInMilliseconds = 10 * 1000;
const endBound = startBound + tenSecondsInMilliseconds;
parsedUrl.searchParams.set('tc.endBound', endBound);
await page.goto(parsedUrl.href.replace('!', '#'));
// await page.dragAndDrop(`text=${sineWaveObject1.name}`, '.c-telemetry-table'); await createDomainObjectWithDefaults(page, {
// await page.dragAndDrop(`text=${sineWaveObject3.name}`, '.c-telemetry-table'); type: 'Telemetry Table',
name: 'Test Telemetry Table'
});
// await page.locator('button[title="Save"]').click(); await page.dragAndDrop(`text=${sineWaveObject1.name}`, '.c-telemetry-table');
// await page.locator('text=Save and Finish Editing').click(); await page.dragAndDrop(`text=${sineWaveObject3.name}`, '.c-telemetry-table');
// // .c-telemetry-table__body await page.locator('button[title="Save"]').click();
await page.locator('text=Save and Finish Editing').click();
await page.keyboard.down('Control');
// await page.keyboard.down('Control'); await page.locator('.noselect > [title="SWG 3"]').first().hover();
let tooltipText = await page.locator('.c-tooltip').textContent();
tooltipText = tooltipText.replace('\n', '').trim();
expect(tooltipText).toBe(sineWaveObject3.path);
// await page.locator('.noselect > [title="SWG 3"]').first().hover(); await page.locator('.noselect > [title="SWG 1"]').first().hover();
// let tooltipText = await page.locator('.c-tooltip').textContent(); tooltipText = await page.locator('.c-tooltip').textContent();
// tooltipText = tooltipText.replace('\n', '').trim(); tooltipText = tooltipText.replace('\n', '').trim();
// expect(tooltipText).toBe(sineWaveObject3.path); expect(tooltipText).toBe(sineWaveObject1.path);
// }); });
test('display tooltip path for recently viewed items', async ({ page }) => {
// drag up Recently Viewed pane
await page
.locator('.l-pane.l-pane--vertical-handle-before', {
hasText: 'Recently Viewed'
})
.locator('.l-pane__handle')
.hover();
await page.mouse.down();
await page.mouse.move(0, 300);
await page.mouse.up();
await page.keyboard.down('Control');
await page.getByLabel('Recent Objects').getByText(sineWaveObject3.name).hover();
let tooltipText = await page.locator('.c-tooltip').textContent();
tooltipText = tooltipText.replace('\n', '').trim();
expect(tooltipText).toBe(sineWaveObject3.path);
await page.getByLabel('Recent Objects').getByText(sineWaveObject2.name).hover();
tooltipText = await page.locator('.c-tooltip').textContent();
tooltipText = tooltipText.replace('\n', '').trim();
expect(tooltipText).toBe(sineWaveObject2.path);
await page.getByLabel('Recent Objects').getByText(sineWaveObject1.name).hover();
tooltipText = await page.locator('.c-tooltip').textContent();
tooltipText = tooltipText.replace('\n', '').trim();
expect(tooltipText).toBe(sineWaveObject1.path);
});
test('display tooltip path for time strips', async ({ page }) => {
// Create Time Strip
await createDomainObjectWithDefaults(page, {
type: 'Time Strip',
name: 'Test Time Strip'
});
// Edit Overlay Plot
await page.locator('[title="Edit"]').click();
await page.dragAndDrop(
`text=${sineWaveObject1.name}`,
'.c-object-view.is-object-type-time-strip'
);
await page.dragAndDrop(
`text=${sineWaveObject2.name}`,
'.c-object-view.is-object-type-time-strip'
);
await page.dragAndDrop(
`text=${sineWaveObject3.name}`,
'.c-object-view.is-object-type-time-strip'
);
await page.locator('button[title="Save"]').click();
await page.locator('text=Save and Finish Editing').click();
await page.keyboard.down('Control');
await page.getByText(sineWaveObject1.name).nth(2).hover();
let tooltipText = await page.locator('.c-tooltip').textContent();
tooltipText = tooltipText.replace('\n', '').trim();
expect(tooltipText).toBe(sineWaveObject1.path);
await page.getByText(sineWaveObject2.name).nth(2).hover();
tooltipText = await page.locator('.c-tooltip').textContent();
tooltipText = tooltipText.replace('\n', '').trim();
expect(tooltipText).toBe(sineWaveObject2.path);
await page.getByText(sineWaveObject3.name).nth(2).hover();
tooltipText = await page.locator('.c-tooltip').textContent();
tooltipText = tooltipText.replace('\n', '').trim();
expect(tooltipText).toBe(sineWaveObject3.path);
});
}); });

View File

@@ -226,7 +226,7 @@
</template> </template>
<template v-if="typeMeter"> <template v-if="typeMeter">
<div class="c-meter"> <div class="c-meter" @mouseover.ctrl="showToolTip" @mouseleave="hideToolTip">
<div v-if="displayMinMax" class="c-gauge__range c-meter__range js-gauge-meter-range"> <div v-if="displayMinMax" class="c-gauge__range c-meter__range js-gauge-meter-range">
<div class="c-meter__range__high">{{ rangeHigh }}</div> <div class="c-meter__range__high">{{ rangeHigh }}</div>
<div class="c-meter__range__low">{{ rangeLow }}</div> <div class="c-meter__range__low">{{ rangeLow }}</div>