diff --git a/e2e/tests/functional/plugins/notebook/notebook.e2e.spec.js b/e2e/tests/functional/plugins/notebook/notebook.e2e.spec.js
index f44140fe4e..66c1b038c0 100644
--- a/e2e/tests/functional/plugins/notebook/notebook.e2e.spec.js
+++ b/e2e/tests/functional/plugins/notebook/notebook.e2e.spec.js
@@ -24,8 +24,6 @@
This test suite is dedicated to tests which verify the basic operations surrounding Notebooks.
*/
-// FIXME: Remove this eslint exception once tests are implemented
-// eslint-disable-next-line no-unused-vars
const { test, expect } = require('../../../../pluginFixtures');
const { expandTreePaneItemByName, createDomainObjectWithDefaults } = require('../../../../appActions');
const nbUtils = require('../../../../helper/notebookUtils');
@@ -266,70 +264,3 @@ test.describe('Notebook entry tests', () => {
test.fixme('new entries persist through navigation events without save', async ({ page }) => {});
test.fixme('previous and new entries can be deleted', async ({ page }) => {});
});
-
-test.describe('Snapshot Menu tests', () => {
- test.fixme('When no default notebook is selected, Snapshot Menu dropdown should only have a single option', async ({ page }) => {
- // There should be no default notebook
- // Clear default notebook if exists using `localStorage.setItem('notebook-storage', null);`
- // refresh page
- // Click on 'Notebook Snaphot Menu'
- // 'save to Notebook Snapshots' should be only option there
- });
- test.fixme('When default notebook is updated selected, Snapshot Menu dropdown should list it as the newest option', async ({ page }) => {
- // Create 2a notebooks
- // Set Notebook A as Default
- // Open Snapshot Menu and note that Notebook A is listed
- // Close Snapshot Menu
- // Set Default Notebook to Notebook B
- // Open Snapshot Notebook and note that Notebook B is listed
- // Select Default Notebook Option and verify that Snapshot is added to Notebook B
- });
- test.fixme('Can add Snapshots via Snapshot Menu and details are correct', async ({ page }) => {
- //Note this should be a visual test, too
- // Create Telemetry object
- // Create A notebook with many pages and sections.
- // Set page and section defaults to be between first and last of many. i.e. 3 of 5
- // Navigate to Telemetry object
- // Select Default Notebook Option and verify that Snapshot is added to Notebook A
- // Verify Snapshot Details appear correctly
- });
- test.fixme('Snapshots adjust time conductor', async ({ page }) => {
- // Create Telemetry object
- // Set Telemetry object's timeconductor to Fixed time with Start and Endtimes are recorded
- // Embed Telemetry object into notebook
- // Set Time Conductor to Local clock
- // Click into embedded telemetry object and verify object appears with same fixed time from record
- });
-});
-
-test.describe('Snapshot Container tests', () => {
- test.fixme('5 Snapshots can be added to a container', async ({ page }) => {});
- test.fixme('5 Snapshots can be added to a container and Deleted with Delete All action', async ({ page }) => {});
- test.fixme('A snapshot can be Deleted from Container', async ({ page }) => {});
- test.fixme('A snapshot can be Previewed from Container', async ({ page }) => {});
- test.fixme('A snapshot Container can be open and closed', async ({ page }) => {});
- test.fixme('Can add object to Snapshot container and pull into notebook and create a new entry', async ({ page }) => {
- //Create Notebook
- //Create Telemetry Object
- //From Telemetry Object, use 'save to Notebook Snapshots'
- //Snapshots indicator should blink, click on it to view snapshots
- //Navigate to Notebook
- //Drag and Drop onto droppable area for new entry
- //New Entry created with given snapshot added
- //Snapshot removed from container?
- });
- test.fixme('Can add object to Snapshot container and pull into notebook and existing entry', async ({ page }) => {
- //Create Notebook
- //Create Telemetry Object
- //From Telemetry Object, use 'save to Notebook Snapshots'
- //Snapshots indicator should blink, click on it to view snapshots
- //Navigate to Notebook
- //Drag and Drop into exiting entry
- //Existing Entry updated with given snapshot
- //Snapshot removed from container?
- });
- test.fixme('Verify Embedded options for PNG, JPG, and Annotate work correctly', async ({ page }) => {
- //Add snapshot to container
- //Verify PNG, JPG, and Annotate buttons work correctly
- });
-});
diff --git a/e2e/tests/functional/plugins/notebook/notebookSnapshots.e2e.spec.js b/e2e/tests/functional/plugins/notebook/notebookSnapshots.e2e.spec.js
new file mode 100644
index 0000000000..83a062b376
--- /dev/null
+++ b/e2e/tests/functional/plugins/notebook/notebookSnapshots.e2e.spec.js
@@ -0,0 +1,134 @@
+/*****************************************************************************
+ * 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 the basic operations surrounding Notebooks.
+*/
+
+const { test, expect } = require('../../../../pluginFixtures');
+// const { expandTreePaneItemByName, createDomainObjectWithDefaults } = require('../../../../appActions');
+// const nbUtils = require('../../../../helper/notebookUtils');
+
+test.describe('Snapshot Menu tests', () => {
+ test.fixme('When no default notebook is selected, Snapshot Menu dropdown should only have a single option', async ({ page }) => {
+ // There should be no default notebook
+ // Clear default notebook if exists using `localStorage.setItem('notebook-storage', null);`
+ // refresh page
+ // Click on 'Notebook Snaphot Menu'
+ // 'save to Notebook Snapshots' should be only option there
+ });
+ test.fixme('When default notebook is updated selected, Snapshot Menu dropdown should list it as the newest option', async ({ page }) => {
+ // Create 2a notebooks
+ // Set Notebook A as Default
+ // Open Snapshot Menu and note that Notebook A is listed
+ // Close Snapshot Menu
+ // Set Default Notebook to Notebook B
+ // Open Snapshot Notebook and note that Notebook B is listed
+ // Select Default Notebook Option and verify that Snapshot is added to Notebook B
+ });
+ test.fixme('Can add Snapshots via Snapshot Menu and details are correct', async ({ page }) => {
+ //Note this should be a visual test, too
+ // Create Telemetry object
+ // Create A notebook with many pages and sections.
+ // Set page and section defaults to be between first and last of many. i.e. 3 of 5
+ // Navigate to Telemetry object
+ // Select Default Notebook Option and verify that Snapshot is added to Notebook A
+ // Verify Snapshot Details appear correctly
+ });
+ test.fixme('Snapshots adjust time conductor', async ({ page }) => {
+ // Create Telemetry object
+ // Set Telemetry object's timeconductor to Fixed time with Start and Endtimes are recorded
+ // Embed Telemetry object into notebook
+ // Set Time Conductor to Local clock
+ // Click into embedded telemetry object and verify object appears with same fixed time from record
+ });
+});
+
+test.describe('Snapshot Container tests', () => {
+ test.beforeEach(async ({ page }) => {
+ //Navigate to baseURL
+ await page.goto('./', { waitUntil: 'networkidle' });
+
+ // Create Notebook
+ // const notebook = await createDomainObjectWithDefaults(page, {
+ // type: 'Notebook',
+ // name: "Test Notebook"
+ // });
+ // // Create Overlay Plot
+ // const snapShotObject = await createDomainObjectWithDefaults(page, {
+ // type: 'Overlay Plot',
+ // name: "Dropped Overlay Plot"
+ // });
+
+ await page.getByRole('button', { name: ' Snapshot ' }).click();
+ await page.getByRole('menuitem', { name: ' Save to Notebook Snapshots' }).click();
+ await page.getByRole('button', { name: 'Show' }).click();
+
+ });
+ test.fixme('5 Snapshots can be added to a container', async ({ page }) => {});
+ test.fixme('5 Snapshots can be added to a container and Deleted with Delete All action', async ({ page }) => {});
+ test.fixme('A snapshot can be Deleted from Container with 3 dot action menu', async ({ page }) => {});
+ test.fixme('A snapshot can be Viewed, Annotated, display deleted, and saved from Container with 3 dot action menu', async ({ page }) => {
+ await page.locator('.c-snapshot.c-ne__embed').first().getByTitle('More options').click();
+ await page.getByRole('menuitem', { name: ' View Snapshot' }).click();
+ await expect(page.locator('.c-overlay__outer')).toBeVisible();
+ await page.getByTitle('Annotate').click();
+ await expect(page.locator('#snap-annotation-canvas')).toBeVisible();
+ await page.getByRole('button', { name: '' }).click();
+ // await expect(page.locator('#snap-annotation-canvas')).not.toBeVisible();
+ await page.getByRole('button', { name: 'Save' }).click();
+ await page.getByRole('button', { name: 'Done' }).click();
+ //await expect(await page.locator)
+ });
+ test('A snapshot can be Quick Viewed from Container with 3 dot action menu', async ({ page }) => {
+ await page.locator('.c-snapshot.c-ne__embed').first().getByTitle('More options').click();
+ await page.getByRole('menuitem', { name: 'Quick View' }).click();
+ await expect(page.locator('.c-overlay__outer')).toBeVisible();
+ });
+ test.fixme('A snapshot can be Navigated To from Container with 3 dot action menu', async ({ page }) => {});
+ test.fixme('A snapshot can be Navigated To Item in Time from Container with 3 dot action menu', async ({ page }) => {});
+ test.fixme('A snapshot Container can be open and closed', async ({ page }) => {});
+ test.fixme('Can add object to Snapshot container and pull into notebook and create a new entry', async ({ page }) => {
+ //Create Notebook
+ //Create Telemetry Object
+ //From Telemetry Object, use 'save to Notebook Snapshots'
+ //Snapshots indicator should blink, click on it to view snapshots
+ //Navigate to Notebook
+ //Drag and Drop onto droppable area for new entry
+ //New Entry created with given snapshot added
+ //Snapshot removed from container?
+ });
+ test.fixme('Can add object to Snapshot container and pull into notebook and existing entry', async ({ page }) => {
+ //Create Notebook
+ //Create Telemetry Object
+ //From Telemetry Object, use 'save to Notebook Snapshots'
+ //Snapshots indicator should blink, click on it to view snapshots
+ //Navigate to Notebook
+ //Drag and Drop into exiting entry
+ //Existing Entry updated with given snapshot
+ //Snapshot removed from container?
+ });
+ test.fixme('Verify Embedded options for PNG, JPG, and Annotate work correctly', async ({ page }) => {
+ //Add snapshot to container
+ //Verify PNG, JPG, and Annotate buttons work correctly
+ });
+});
diff --git a/e2e/tests/functional/plugins/notebook/restrictedNotebook.e2e.spec.js b/e2e/tests/functional/plugins/notebook/restrictedNotebook.e2e.spec.js
index 6a51238fd2..08ab8ef92e 100644
--- a/e2e/tests/functional/plugins/notebook/restrictedNotebook.e2e.spec.js
+++ b/e2e/tests/functional/plugins/notebook/restrictedNotebook.e2e.spec.js
@@ -152,7 +152,7 @@ test.describe('Restricted Notebook with a page locked and with an embed @addInit
test('Allows embeds to be deleted if page unlocked @addInit', async ({ page }) => {
// Click .c-ne__embed__name .c-popup-menu-button
- await page.locator('.c-ne__embed__name .c-popup-menu-button').click(); // embed popup menu
+ await page.locator('.c-ne__embed__name .c-icon-button').click(); // embed popup menu
const embedMenu = page.locator('body >> .c-menu');
await expect(embedMenu).toContainText('Remove This Embed');
@@ -161,7 +161,7 @@ test.describe('Restricted Notebook with a page locked and with an embed @addInit
test('Disallows embeds to be deleted if page locked @addInit', async ({ page }) => {
await lockPage(page);
// Click .c-ne__embed__name .c-popup-menu-button
- await page.locator('.c-ne__embed__name .c-popup-menu-button').click(); // embed popup menu
+ await page.locator('.c-ne__embed__name .c-icon-button').click(); // embed popup menu
const embedMenu = page.locator('body >> .c-menu');
await expect(embedMenu).not.toContainText('Remove This Embed');
diff --git a/src/plugins/notebook/components/NotebookEmbed.vue b/src/plugins/notebook/components/NotebookEmbed.vue
index 49cace8f2e..9ad420fc3c 100644
--- a/src/plugins/notebook/components/NotebookEmbed.vue
+++ b/src/plugins/notebook/components/NotebookEmbed.vue
@@ -12,14 +12,15 @@
{{ embed.name }}
-