Compare commits
	
		
			3 Commits
		
	
	
		
			omm-r5.1.0
			...
			e2e-add-re
		
	
	| Author | SHA1 | Date | |
|---|---|---|---|
|   | f146f07fcd | ||
|   | 599b1865b6 | ||
|   | eab6071095 | 
| @@ -228,18 +228,14 @@ async function _isInEditMode(page, identifier) { | ||||
| /** | ||||
|  * Set the time conductor mode to either fixed timespan or realtime mode. | ||||
|  * @param {import('@playwright/test').Page} page | ||||
|  * @param {boolean} [isFixedTimespan=true] true for fixed timespan mode, false for realtime mode; default is true | ||||
|  * @param {'fixed'|'local-clock'|'remote-clock'} [clockType='fixed'] the clock type to set the time conductor to. default: 'fixed' | ||||
|  */ | ||||
| async function setTimeConductorMode(page, isFixedTimespan = true) { | ||||
| async function setTimeConductorMode(page, clockType = 'fixed') { | ||||
|     // Click 'mode' button | ||||
|     await page.locator('.c-mode-button').click(); | ||||
|  | ||||
|     // Switch time conductor mode | ||||
|     if (isFixedTimespan) { | ||||
|         await page.locator('data-testid=conductor-modeOption-fixed').click(); | ||||
|     } else { | ||||
|         await page.locator('data-testid=conductor-modeOption-realtime').click(); | ||||
|     } | ||||
|     await page.locator(`data-testid=conductor-modeOption-${clockType}`).click(); | ||||
| } | ||||
|  | ||||
| /** | ||||
| @@ -247,15 +243,23 @@ async function setTimeConductorMode(page, isFixedTimespan = true) { | ||||
|  * @param {import('@playwright/test').Page} page | ||||
|  */ | ||||
| async function setFixedTimeMode(page) { | ||||
|     await setTimeConductorMode(page, true); | ||||
|     await setTimeConductorMode(page); | ||||
| } | ||||
|  | ||||
| /** | ||||
|  * Set the time conductor to realtime mode | ||||
|  * Set the time conductor to local clock mode | ||||
|  * @param {import('@playwright/test').Page} page | ||||
|  */ | ||||
| async function setRealTimeMode(page) { | ||||
|     await setTimeConductorMode(page, false); | ||||
| async function setLocalClockMode(page) { | ||||
|     await setTimeConductorMode(page, 'local-clock'); | ||||
| } | ||||
|  | ||||
| /** | ||||
|  * Set the time conductor to remote clock mode | ||||
|  * @param {import('@playwright/test').Page} page | ||||
|  */ | ||||
| async function setRemoteClockMode(page) { | ||||
|     await setTimeConductorMode(page, 'remote-clock'); | ||||
| } | ||||
|  | ||||
| /** | ||||
| @@ -318,7 +322,8 @@ module.exports = { | ||||
|     getHashUrlToDomainObject, | ||||
|     getFocusedObjectUuid, | ||||
|     setFixedTimeMode, | ||||
|     setRealTimeMode, | ||||
|     setLocalClockMode, | ||||
|     setRemoteClockMode, | ||||
|     setStartOffset, | ||||
|     setEndOffset | ||||
| }; | ||||
|   | ||||
| @@ -22,10 +22,19 @@ | ||||
|  | ||||
| // FIXME: Remove this eslint exception once tests are implemented | ||||
| // eslint-disable-next-line no-unused-vars | ||||
| const { setRemoteClockMode } = require('../../../../appActions'); | ||||
| const { test, expect } = require('../../../../baseFixtures'); | ||||
| // const path = require('path'); | ||||
|  | ||||
| test.describe('Remote Clock', () => { | ||||
|     // eslint-disable-next-line require-await | ||||
|     // test.use({ storageState: path.join(__dirname, '../../../../test-data/RemoteClockTestData_storage.json')}); | ||||
|     // eslint-disable-next-line no-undef | ||||
|     test.beforeEach(async ({ page }) => { | ||||
|         // eslint-disable-next-line no-undef | ||||
|         // await page.addInitScript({ path: path.join(__dirname, '../../../../helper/', 'addInitRemoteClock.js') }); | ||||
|         await page.goto('./', { waitUntil: 'networkidle' }); | ||||
|     }); | ||||
|  | ||||
|     test.fixme('blocks historical requests until first tick is received', async ({ page }) => { | ||||
|         test.info().annotations.push({ | ||||
|             type: 'issue', | ||||
| @@ -33,7 +42,11 @@ test.describe('Remote Clock', () => { | ||||
|         }); | ||||
|         // addInitScript to with remote clock | ||||
|         // Switch time conductor mode to 'remote clock' | ||||
|         await setRemoteClockMode(page); | ||||
|         // Navigate to telemetry | ||||
|         await page.click('role=treeitem[name=/Remote Clock Ticker/]'); | ||||
|         await page.reload(); | ||||
|  | ||||
|         // Verify that the plot renders historical data within the correct bounds | ||||
|         // Refresh the page | ||||
|         // Verify again that the plot renders historical data within the correct bounds | ||||
|   | ||||
| @@ -21,13 +21,13 @@ | ||||
|  *****************************************************************************/ | ||||
|  | ||||
| const { test, expect } = require('../../../../pluginFixtures'); | ||||
| const { createDomainObjectWithDefaults, setStartOffset, setFixedTimeMode, setRealTimeMode } = require('../../../../appActions'); | ||||
| const { createDomainObjectWithDefaults, setStartOffset, setFixedTimeMode, setLocalClockMode } = require('../../../../appActions'); | ||||
|  | ||||
| test.describe('Testing Display Layout @unstable', () => { | ||||
|     let sineWaveObject; | ||||
|     test.beforeEach(async ({ page }) => { | ||||
|         await page.goto('./', { waitUntil: 'networkidle' }); | ||||
|         await setRealTimeMode(page); | ||||
|         await setLocalClockMode(page); | ||||
|  | ||||
|         // Create Sine Wave Generator | ||||
|         sineWaveObject = await createDomainObjectWithDefaults(page, { | ||||
|   | ||||
| @@ -160,7 +160,7 @@ test.describe('Example Imagery Object', () => { | ||||
|         await page.locator('.c-mode-button').click(); | ||||
|  | ||||
|         // Click local clock | ||||
|         await page.locator('[data-testid="conductor-modeOption-realtime"]').click(); | ||||
|         await page.locator('[data-testid="conductor-modeOption-local-clock"]').click(); | ||||
|         await expect.soft(pausePlayButton).not.toHaveClass(/is-paused/); | ||||
|  | ||||
|         // Zoom in via button | ||||
| @@ -412,7 +412,7 @@ async function performImageryViewOperationsAndAssert(page) { | ||||
|     await page.locator('.c-mode-button').click(); | ||||
|  | ||||
|     // Select local clock mode | ||||
|     await page.locator('[data-testid=conductor-modeOption-realtime]').click(); | ||||
|     await page.locator('[data-testid=conductor-modeOption-local-clock]').click(); | ||||
|  | ||||
|     // Zoom in on next image | ||||
|     await mouseZoomOnImageAndAssert(page, 2); | ||||
|   | ||||
| @@ -21,13 +21,13 @@ | ||||
|  *****************************************************************************/ | ||||
|  | ||||
| const { test, expect } = require('../../../../pluginFixtures'); | ||||
| const { createDomainObjectWithDefaults, setStartOffset, setFixedTimeMode, setRealTimeMode } = require('../../../../appActions'); | ||||
| const { createDomainObjectWithDefaults, setStartOffset, setFixedTimeMode, setLocalClockMode } = require('../../../../appActions'); | ||||
|  | ||||
| test.describe('Testing LAD table @unstable', () => { | ||||
|     let sineWaveObject; | ||||
|     test.beforeEach(async ({ page }) => { | ||||
|         await page.goto('./', { waitUntil: 'networkidle' }); | ||||
|         await setRealTimeMode(page); | ||||
|         await setLocalClockMode(page); | ||||
|  | ||||
|         // Create Sine Wave Generator | ||||
|         sineWaveObject = await createDomainObjectWithDefaults(page, { | ||||
|   | ||||
| @@ -21,7 +21,7 @@ | ||||
|  *****************************************************************************/ | ||||
|  | ||||
| const { test, expect } = require('../../../../baseFixtures'); | ||||
| const { setFixedTimeMode, setRealTimeMode, setStartOffset, setEndOffset } = require('../../../../appActions'); | ||||
| const { setFixedTimeMode, setLocalClockMode, setStartOffset, setEndOffset } = require('../../../../appActions'); | ||||
|  | ||||
| test.describe('Time conductor operations', () => { | ||||
|     test('validate start time does not exceeds end time', async ({ page }) => { | ||||
| @@ -85,7 +85,7 @@ test.describe('Time conductor input fields real-time mode', () => { | ||||
|         await page.goto('./', { waitUntil: 'networkidle' }); | ||||
|  | ||||
|         // Switch to real-time mode | ||||
|         await setRealTimeMode(page); | ||||
|         await setLocalClockMode(page); | ||||
|  | ||||
|         // Set start time offset | ||||
|         await setStartOffset(page, startOffset); | ||||
| @@ -122,7 +122,7 @@ test.describe('Time conductor input fields real-time mode', () => { | ||||
|         await page.goto('./', { waitUntil: 'networkidle' }); | ||||
|  | ||||
|         // Switch to real-time mode | ||||
|         await setRealTimeMode(page); | ||||
|         await setLocalClockMode(page); | ||||
|  | ||||
|         // Set start time offset | ||||
|         await setStartOffset(page, startOffset); | ||||
| @@ -134,7 +134,7 @@ test.describe('Time conductor input fields real-time mode', () => { | ||||
|         await setFixedTimeMode(page); | ||||
|  | ||||
|         // Switch back to real-time mode | ||||
|         await setRealTimeMode(page); | ||||
|         await setLocalClockMode(page); | ||||
|  | ||||
|         // Verify updated start time offset persists after mode switch | ||||
|         await expect(page.locator('data-testid=conductor-start-offset-button')).toContainText('00:30:23'); | ||||
|   | ||||
| @@ -117,7 +117,7 @@ export default { | ||||
|                     description: "Monitor streaming data in real-time. The Time " | ||||
|                     + "Conductor and displays will automatically advance themselves based on this clock. " + clock.description, | ||||
|                     cssClass: clock.cssClass || 'icon-clock', | ||||
|                     testId: 'conductor-modeOption-realtime', | ||||
|                     testId: `conductor-modeOption-${clock.name.toLowerCase().replace(' ', '-')}`, | ||||
|                     onItemClicked: () => this.setOption(key) | ||||
|                 }; | ||||
|             } | ||||
|   | ||||
		Reference in New Issue
	
	Block a user