From 557f29f9bb74faf60e72637e209b0bcafcab23ef Mon Sep 17 00:00:00 2001 From: John Hill Date: Tue, 22 Mar 2022 20:20:39 -0700 Subject: [PATCH] bump git-rev-sync and add tests (#4959) Co-authored-by: unlikelyzero --- e2e/tests/branding.e2e.spec.js | 62 ++++++++++++++++++++++++++++++++++ package.json | 2 +- 2 files changed, 63 insertions(+), 1 deletion(-) create mode 100644 e2e/tests/branding.e2e.spec.js diff --git a/e2e/tests/branding.e2e.spec.js b/e2e/tests/branding.e2e.spec.js new file mode 100644 index 0000000000..7a8c1b63d0 --- /dev/null +++ b/e2e/tests/branding.e2e.spec.js @@ -0,0 +1,62 @@ +/***************************************************************************** + * Open MCT, Copyright (c) 2014-2022, United States Government + * as represented by the Administrator of the National Aeronautics and Space + * Administration. All rights reserved. + * + * Open MCT is licensed under the Apache License, Version 2.0 (the + * "License"); you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * http://www.apache.org/licenses/LICENSE-2.0. + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT + * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the + * License for the specific language governing permissions and limitations + * under the License. + * + * Open MCT includes source code licensed under additional open source + * licenses. See the Open Source Licenses file (LICENSES.md) included with + * this source code distribution or the Licensing information page available + * at runtime from the About dialog for additional information. + *****************************************************************************/ + +/* +This test suite is dedicated to tests which verify branding related components. +*/ + +const { test, expect } = require('@playwright/test'); + +test.describe('Branding tests', () => { + test('About Modal launches with basic branding properties', async ({ page }) => { + // Go to baseURL + await page.goto('/', { waitUntil: 'networkidle' }); + + // Click About button + await page.click('.l-shell__app-logo'); + + // Verify that the NASA Logo Appears + await expect(await page.locator('.c-about__image')).toBeVisible(); + + // Modify the Build information in 'about' Modal + const versionInformationLocator = page.locator('ul.t-info.l-info.s-info'); + await expect(versionInformationLocator).toBeEnabled(); + await expect.soft(versionInformationLocator).toContainText(/Version: \d/); + await expect.soft(versionInformationLocator).toContainText(/Build Date: ((?:Mon|Tue|Wed|Thu|Fri|Sat|Sun))/); + await expect.soft(versionInformationLocator).toContainText(/Revision: \b[0-9a-f]{5,40}\b/); + await expect.soft(versionInformationLocator).toContainText(/Branch: ./); + }); + test('Verify Links in About Modal', async ({ page }) => { + // Go to baseURL + await page.goto('/', { waitUntil: 'networkidle' }); + + // Click About button + await page.click('.l-shell__app-logo'); + + // Verify that clicking on the third party licenses information opens up another tab on licenses url + const [page2] = await Promise.all([ + page.waitForEvent('popup'), + page.locator('text=click here for third party licensing information').click() + ]); + expect(page2.waitForURL('**\/licenses**')).toBeTruthy(); + }); +}); diff --git a/package.json b/package.json index 781cfd0c24..40398db853 100644 --- a/package.json +++ b/package.json @@ -29,7 +29,7 @@ "express": "4.13.1", "file-loader": "6.2.0", "file-saver": "2.0.5", - "git-rev-sync": "1.4.0", + "git-rev-sync": "3.0.2", "html-loader": "0.5.5", "html2canvas": "1.4.1", "imports-loader": "0.8.0",