From ca4df36af250b0b1c74a44262696b7fa2bbf1b44 Mon Sep 17 00:00:00 2001 From: Kawika Avilla Date: Mon, 18 Mar 2024 20:57:42 -0700 Subject: [PATCH] [Discover] update tests related to legacy view (#1155) Update tests related to switching from legacy view within the Discover page. Requires: https://github.com/opensearch-project/OpenSearch-Dashboards/pull/6170 Signed-off-by: Kawika Avilla Co-authored-by: Kawika Avilla (cherry picked from commit 6a551e8160bc71610c377e82fb7dc946b9336a15) --- .../apps/data_explorer/date_nanos.spec.js | 2 +- .../data_explorer/date_nanos_mixed.spec.js | 2 +- .../apps/data_explorer/discover.spec.js | 5 +--- .../apps/data_explorer/field_data.spec.js | 6 +---- .../index_pattern_with_encoded_id.spec.js | 2 +- .../index_pattern_without_field.spec.js | 2 -- .../apps/data_explorer/saved_queries.spec.js | 2 +- .../dashboards/data_explorer/commands.js | 25 +++++++++++-------- 8 files changed, 21 insertions(+), 25 deletions(-) diff --git a/cypress/integration/core-opensearch-dashboards/opensearch-dashboards/apps/data_explorer/date_nanos.spec.js b/cypress/integration/core-opensearch-dashboards/opensearch-dashboards/apps/data_explorer/date_nanos.spec.js index 5a0dc3659..4283e0f4f 100644 --- a/cypress/integration/core-opensearch-dashboards/opensearch-dashboards/apps/data_explorer/date_nanos.spec.js +++ b/cypress/integration/core-opensearch-dashboards/opensearch-dashboards/apps/data_explorer/date_nanos.spec.js @@ -34,10 +34,10 @@ describe('date_nanos', () => { }); miscUtils.visitPage('app/data-explorer/discover#/'); cy.waitForLoader(); - cy.switchDiscoverTable('new'); cy.setTopNavDate(fromTime, toTime); cy.waitForSearch(); + cy.switchDiscoverTable('new'); }); after(() => { diff --git a/cypress/integration/core-opensearch-dashboards/opensearch-dashboards/apps/data_explorer/date_nanos_mixed.spec.js b/cypress/integration/core-opensearch-dashboards/opensearch-dashboards/apps/data_explorer/date_nanos_mixed.spec.js index b56b2ab54..6cc468c6a 100644 --- a/cypress/integration/core-opensearch-dashboards/opensearch-dashboards/apps/data_explorer/date_nanos_mixed.spec.js +++ b/cypress/integration/core-opensearch-dashboards/opensearch-dashboards/apps/data_explorer/date_nanos_mixed.spec.js @@ -31,12 +31,12 @@ describe('date_nanos_mixed', () => { }); miscUtils.visitPage('app/data-explorer/discover#/'); cy.waitForLoader(); - cy.switchDiscoverTable('new'); const fromTime = 'Jan 1, 2019 @ 00:00:00.000'; const toTime = 'Jan 1, 2019 @ 23:59:59.999'; cy.setTopNavDate(fromTime, toTime); cy.waitForSearch(); + cy.switchDiscoverTable('new'); }); after(() => { diff --git a/cypress/integration/core-opensearch-dashboards/opensearch-dashboards/apps/data_explorer/discover.spec.js b/cypress/integration/core-opensearch-dashboards/opensearch-dashboards/apps/data_explorer/discover.spec.js index a11258d08..220cd0d3c 100644 --- a/cypress/integration/core-opensearch-dashboards/opensearch-dashboards/apps/data_explorer/discover.spec.js +++ b/cypress/integration/core-opensearch-dashboards/opensearch-dashboards/apps/data_explorer/discover.spec.js @@ -62,8 +62,8 @@ describe('discover app', { scrollBehavior: false }, () => { `app/data-explorer/discover#/?_g=(filters:!(),time:(from:'2015-09-19T13:31:44.000Z',to:'2015-09-24T01:31:44.000Z'))` ); cy.waitForLoader(); - cy.switchDiscoverTable('new'); cy.waitForSearch(); + cy.switchDiscoverTable('new'); }); after(() => {}); @@ -71,9 +71,6 @@ describe('discover app', { scrollBehavior: false }, () => { describe('save search', () => { const saveSearch1 = 'Save Search # 1'; const saveSearch2 = 'Modified Save Search # 1'; - beforeEach(() => { - cy.switchDiscoverTable('new'); - }); it('should show correct time range string by timepicker', function () { cy.verifyTimeConfig(DE_DEFAULT_START_TIME, DE_DEFAULT_END_TIME); diff --git a/cypress/integration/core-opensearch-dashboards/opensearch-dashboards/apps/data_explorer/field_data.spec.js b/cypress/integration/core-opensearch-dashboards/opensearch-dashboards/apps/data_explorer/field_data.spec.js index 6f350710c..f514d3c3d 100644 --- a/cypress/integration/core-opensearch-dashboards/opensearch-dashboards/apps/data_explorer/field_data.spec.js +++ b/cypress/integration/core-opensearch-dashboards/opensearch-dashboards/apps/data_explorer/field_data.spec.js @@ -46,17 +46,13 @@ describe('discover tab', () => { `app/data-explorer/discover#/?_g=(filters:!(),time:(from:'2015-09-19T13:31:44.000Z',to:'2015-09-24T01:31:44.000Z'))` ); cy.waitForLoader(); - cy.switchDiscoverTable('new'); cy.waitForSearch(); + cy.switchDiscoverTable('new'); }); after(() => {}); describe('field data', function () { - before(() => { - cy.switchDiscoverTable('new'); - }); - it('search php should show the correct hit count', function () { const expectedHitCount = '445'; cy.setTopNavQuery('php'); diff --git a/cypress/integration/core-opensearch-dashboards/opensearch-dashboards/apps/data_explorer/index_pattern_with_encoded_id.spec.js b/cypress/integration/core-opensearch-dashboards/opensearch-dashboards/apps/data_explorer/index_pattern_with_encoded_id.spec.js index 8e4d4766f..d101b2897 100644 --- a/cypress/integration/core-opensearch-dashboards/opensearch-dashboards/apps/data_explorer/index_pattern_with_encoded_id.spec.js +++ b/cypress/integration/core-opensearch-dashboards/opensearch-dashboards/apps/data_explorer/index_pattern_with_encoded_id.spec.js @@ -36,8 +36,8 @@ describe('index pattern with encoded id', () => { // Go to the Discover page miscUtils.visitPage('app/data-explorer/discover#/'); - cy.switchDiscoverTable('new'); cy.setTopNavDate(DE_DEFAULT_START_TIME, DE_DEFAULT_END_TIME); + cy.switchDiscoverTable('new'); cy.waitForLoader(); }); diff --git a/cypress/integration/core-opensearch-dashboards/opensearch-dashboards/apps/data_explorer/index_pattern_without_field.spec.js b/cypress/integration/core-opensearch-dashboards/opensearch-dashboards/apps/data_explorer/index_pattern_without_field.spec.js index 5eeb2a57e..bc09964e2 100644 --- a/cypress/integration/core-opensearch-dashboards/opensearch-dashboards/apps/data_explorer/index_pattern_without_field.spec.js +++ b/cypress/integration/core-opensearch-dashboards/opensearch-dashboards/apps/data_explorer/index_pattern_without_field.spec.js @@ -33,7 +33,6 @@ describe('index pattern without field spec', () => { // Go to the Discover page miscUtils.visitPage('app/data-explorer/discover#/'); cy.waitForLoader(); - cy.switchDiscoverTable('new'); }); after(() => { @@ -50,7 +49,6 @@ describe('index pattern without field spec', () => { it('should display a timepicker after switching to an index pattern with timefield', () => { const indexName = 'with-timefield'; - cy.switchDiscoverTable('new'); cy.getElementByTestId('comboBoxToggleListButton') .should('be.visible') .click(); diff --git a/cypress/integration/core-opensearch-dashboards/opensearch-dashboards/apps/data_explorer/saved_queries.spec.js b/cypress/integration/core-opensearch-dashboards/opensearch-dashboards/apps/data_explorer/saved_queries.spec.js index f6b5bf711..315e10f31 100644 --- a/cypress/integration/core-opensearch-dashboards/opensearch-dashboards/apps/data_explorer/saved_queries.spec.js +++ b/cypress/integration/core-opensearch-dashboards/opensearch-dashboards/apps/data_explorer/saved_queries.spec.js @@ -51,10 +51,10 @@ describe.skip('saved queries saved objects', () => { // Go to the Discover page miscUtils.visitPage('app/data-explorer/discover#/'); cy.waitForLoader(); - cy.switchDiscoverTable('new'); // Set time filter cy.setTopNavDate(fromTime, toTime); + cy.switchDiscoverTable('new'); // Set up query and filter cy.setTopNavQuery('response:200'); diff --git a/cypress/utils/dashboards/data_explorer/commands.js b/cypress/utils/dashboards/data_explorer/commands.js index 8170089d6..c1f94dae9 100644 --- a/cypress/utils/dashboards/data_explorer/commands.js +++ b/cypress/utils/dashboards/data_explorer/commands.js @@ -135,17 +135,22 @@ Cypress.Commands.add('deleteSaveQuery', (name) => { }); Cypress.Commands.add('switchDiscoverTable', (name) => { - cy.getElementByTestId('datagridTableButton') + cy.getElementByTestId('discoverOptionsButton') .then(($button) => { - const buttonText = $button.text(); - - if (name === 'new' && buttonText.includes('Try new Discover')) { - cy.wrap($button).click(); - } - if (name === 'legacy' && buttonText.includes('Use legacy Discover')) { - cy.wrap($button).click(); - } - cy.waitForLoader(); + cy.wrap($button).click(); + + cy.getElementByTestId('discoverOptionsLegacySwitch').then( + ($switchButton) => { + const isLegacyChecked = $switchButton.checked; + if (name === 'new' && !isLegacyChecked) { + cy.wrap($switchButton).click(); + } + if (name === 'legacy' && isLegacyChecked) { + cy.wrap($switchButton).click(); + } + cy.waitForLoader(); + } + ); }) .then(() => { checkForElementVisibility();