mirror of
https://github.com/nasa/openmct.git
synced 2025-01-02 03:16:41 +00:00
test(e2e): fix ITC imagery test
This commit is contained in:
parent
99cb90987a
commit
dc0f461d9f
@ -27,7 +27,7 @@ but only assume that example imagery is present.
|
||||
/* globals process */
|
||||
const { waitForAnimations } = require('../../../../baseFixtures');
|
||||
const { test, expect } = require('../../../../pluginFixtures');
|
||||
const { createDomainObjectWithDefaults } = require('../../../../appActions');
|
||||
const { createDomainObjectWithDefaults, setRealTimeMode } = require('../../../../appActions');
|
||||
const backgroundImageSelector = '.c-imagery__main-image__background-image';
|
||||
const panHotkey = process.platform === 'linux' ? ['Shift', 'Alt'] : ['Alt'];
|
||||
const tagHotkey = ['Shift', 'Alt'];
|
||||
@ -49,6 +49,7 @@ test.describe('Example Imagery Object', () => {
|
||||
});
|
||||
|
||||
test('Can use Mouse Wheel to zoom in and out of latest image', async ({ page }) => {
|
||||
page.waitForResponse('')
|
||||
// Zoom in x2 and assert
|
||||
await mouseZoomOnImageAndAssert(page, 2);
|
||||
|
||||
@ -70,7 +71,7 @@ test.describe('Example Imagery Object', () => {
|
||||
await dragContrastSliderAndAssertFilterValues(page);
|
||||
});
|
||||
|
||||
test.fixme('Can use independent time conductor to change time', async ({ page }) => {
|
||||
test('Can use independent time conductor to change time', async ({ page }) => {
|
||||
test.info().annotations.push({
|
||||
type: 'issue',
|
||||
description: 'https://github.com/nasa/openmct/issues/6821'
|
||||
@ -79,10 +80,18 @@ test.describe('Example Imagery Object', () => {
|
||||
// flip on independent time conductor
|
||||
await page.getByRole('switch', { name: 'Enable Independent Time Conductor' }).click();
|
||||
await page.getByRole('button', { name: 'Independent Time Conductor Settings' }).click();
|
||||
await page.getByRole('textbox', { name: 'Start date' }).click();
|
||||
await page.getByRole('textbox', { name: 'Start date' }).fill('');
|
||||
await page.getByRole('textbox', { name: 'Start date' }).fill('2021-12-30');
|
||||
await page.getByRole('textbox', { name: 'Start time' }).fill('01:01:00.000Z');
|
||||
await page.getByRole('textbox', { name: 'Start time' }).click();
|
||||
await page.getByRole('textbox', { name: 'Start time' }).fill('');
|
||||
await page.getByRole('textbox', { name: 'Start time' }).fill('01:01:00');
|
||||
await page.getByRole('textbox', { name: 'End date' }).click();
|
||||
await page.getByRole('textbox', { name: 'End date' }).fill('');
|
||||
await page.getByRole('textbox', { name: 'End date' }).fill('2021-12-30');
|
||||
await page.getByRole('textbox', { name: 'End time' }).fill('01:11:00.000Z');
|
||||
await page.getByRole('textbox', { name: 'End time' }).click();
|
||||
await page.getByRole('textbox', { name: 'End time' }).fill('');
|
||||
await page.getByRole('textbox', { name: 'End time' }).fill('01:11:00');
|
||||
await page.getByRole('button', { name: 'Submit time bounds' }).click();
|
||||
|
||||
// check image date
|
||||
@ -94,30 +103,31 @@ test.describe('Example Imagery Object', () => {
|
||||
await expect(page.getByText('2021-12-30 01:11:00.000Z')).toBeHidden();
|
||||
|
||||
// Test independent fixed time with global realtime
|
||||
await page.getByRole('button', { name: /Fixed Timespan/ }).click();
|
||||
await page.getByRole('menuitem', { name: /Real-Time/ }).click();
|
||||
await page.getByTitle('Enable independent Time Conductor').locator('label').click();
|
||||
await setRealTimeMode(page);
|
||||
await page.getByRole('switch', { name: 'Enable Independent Time Conductor' }).click();
|
||||
// check image date to be in the past
|
||||
await expect(page.getByText('2021-12-30 01:11:00.000Z').first()).toBeVisible();
|
||||
// flip it off
|
||||
await page.getByTitle('Disable independent Time Conductor').locator('label').click();
|
||||
await page.getByRole('switch', { name: 'Disable Independent Time Conductor' }).click();
|
||||
// timestamp shouldn't be in the past anymore
|
||||
await expect(page.getByText('2021-12-30 01:11:00.000Z')).toBeHidden();
|
||||
|
||||
|
||||
// Test independent realtime with global realtime
|
||||
await page.getByTitle('Enable independent Time Conductor').locator('label').click();
|
||||
await page.getByRole('switch', { name: 'Enable Independent Time Conductor' }).click();
|
||||
// check image date
|
||||
await expect(page.getByText('2021-12-30 01:11:00.000Z').first()).toBeVisible();
|
||||
// change independent time to realtime
|
||||
await page.getByRole('button', { name: /Fixed Timespan/ }).click();
|
||||
await page.getByRole('menuitem', { name: /Local Clock/ }).click();
|
||||
await page.getByRole('button', { name: 'Independent Time Conductor Settings' }).click();
|
||||
await page.getByRole('button', { name: "Independent Time Conductor Mode Menu" }).click();
|
||||
await page.getByRole('menuitem', { name: /Real-Time/ }).click();
|
||||
// timestamp shouldn't be in the past anymore
|
||||
await expect(page.getByText('2021-12-30 01:11:00.000Z')).toBeHidden();
|
||||
// back to the past
|
||||
await page.getByRole('button', { name: "Independent Time Conductor Mode Menu" }).click();
|
||||
await page
|
||||
.getByRole('button', { name: /Local Clock/ })
|
||||
.first()
|
||||
.click();
|
||||
.getByRole('menuitem', { name: /Real-Time/ })
|
||||
.click();
|
||||
await page.getByRole('button', { name: "Independent Time Conductor Mode Menu" }).click();
|
||||
await page.getByRole('menuitem', { name: /Fixed Timespan/ }).click();
|
||||
// check image date to be in the past
|
||||
await expect(page.getByText('2021-12-30 01:11:00.000Z').first()).toBeVisible();
|
||||
@ -254,7 +264,7 @@ test.describe('Example Imagery Object', () => {
|
||||
|
||||
test('Uses low fetch priority', async ({ page }) => {
|
||||
const priority = await page.locator('.js-imageryView-image').getAttribute('fetchpriority');
|
||||
await expect(priority).toBe('low');
|
||||
expect(priority).toBe('low');
|
||||
});
|
||||
});
|
||||
|
||||
@ -288,7 +298,7 @@ test.describe('Example Imagery in Display Layout', () => {
|
||||
await setRealTimeMode(page);
|
||||
|
||||
// pause/play button
|
||||
const pausePlayButton = await page.locator('.c-button.pause-play');
|
||||
const pausePlayButton = page.locator('.c-button.pause-play');
|
||||
|
||||
await expect.soft(pausePlayButton).not.toHaveClass(/is-paused/);
|
||||
|
||||
@ -311,7 +321,7 @@ test.describe('Example Imagery in Display Layout', () => {
|
||||
await setRealTimeMode(page);
|
||||
|
||||
// pause/play button
|
||||
const pausePlayButton = await page.locator('.c-button.pause-play');
|
||||
const pausePlayButton = page.locator('.c-button.pause-play');
|
||||
await pausePlayButton.click();
|
||||
await expect.soft(pausePlayButton).toHaveClass(/is-paused/);
|
||||
|
||||
@ -935,15 +945,3 @@ async function createImageryView(page) {
|
||||
page.waitForSelector('.c-message-banner__message')
|
||||
]);
|
||||
}
|
||||
|
||||
/**
|
||||
* @param {import('@playwright/test').Page} page
|
||||
*/
|
||||
async function setRealTimeMode(page) {
|
||||
await page.locator('.c-compact-tc').click();
|
||||
await page.waitForSelector('.c-tc-input-popup', { state: 'visible' });
|
||||
// Click mode dropdown
|
||||
await page.getByRole('button', { name: ' Fixed Timespan ' }).click();
|
||||
// Click realtime
|
||||
await page.getByRole('menuitem', { name: /Real-Time/ }).click();
|
||||
}
|
||||
|
Loading…
Reference in New Issue
Block a user