Skip to content

Commit

Permalink
log explorer home test separation and fixes
Browse files Browse the repository at this point in the history
Signed-off-by: Eric <[email protected]>
  • Loading branch information
mengweieric committed Jan 9, 2024
1 parent ffaa59c commit c222868
Show file tree
Hide file tree
Showing 3 changed files with 69 additions and 136 deletions.
149 changes: 15 additions & 134 deletions .cypress/integration/event_analytics_test/event_analytics.spec.js
Original file line number Diff line number Diff line change
Expand Up @@ -5,7 +5,6 @@

/// <reference types="cypress" />
import {
delay,
TEST_QUERIES,
TESTING_PANEL,
SAVE_QUERY1,
Expand All @@ -23,9 +22,9 @@ import {
VIS_TYPE_PIE,
VIS_TYPE_VBAR,
FIELD_HOST,
FIELD_AGENT
FIELD_AGENT,
} from '../../utils/event_analytics/constants';
import { suppressResizeObserverIssue, COMMAND_TIMEOUT_LONG } from '../../utils/constants';
import { COMMAND_TIMEOUT_LONG } from '../../utils/constants';

import {
querySearch,
Expand All @@ -48,33 +47,13 @@ describe('Adding sample data and visualization', () => {
describe('Has working breadcrumbs', () => {
it('Redirect to correct page on breadcrumb click', () => {
landOnEventExplorer();
cy.get('.euiBreadcrumb[href="observability-logs#/"]').click(), { timeout: COMMAND_TIMEOUT_LONG };
cy.get('.euiBreadcrumb[href="observability-logs#/"]', {
timeout: COMMAND_TIMEOUT_LONG,
}).click();
cy.get('.euiTitle').contains('Logs').should('exist');
});
});

describe('Search a query on event home', () => {
it('Search a query and redirect to explorer to display query output', () => {
landOnEventHome();

cy.get('[data-test-subj="searchAutocompleteTextArea"]').type(TEST_QUERIES[0].query);
cy.get('[data-test-subj="superDatePickerToggleQuickMenuButton"]').click();
cy.get('[data-test-subj="superDatePickerCommonlyUsed_Year_to date"]').click();
cy.get('[data-test-subj="superDatePickerApplyTimeButton"]').contains('Refresh').click();
cy.window()
.its('store')
.invoke('getState')
.then((state) => {
expect(Object.values(state.queries)[0]['rawQuery'].trim()).equal(TEST_QUERIES[0].query);
expect(Object.values(state.queries)[0]['selectedDateRange'][0]).equal('now/y');
expect(Object.values(state.queries)[0]['selectedDateRange'][1]).equal('now');
});

cy.url().should('contain', '#/explorer');
cy.get('[data-test-subj="searchAutocompleteTextArea"]').contains(TEST_QUERIES[0].query);
});
});

describe('Open flyout for a data row to see details', () => {
beforeEach(() => {
landOnEventExplorer();
Expand Down Expand Up @@ -108,110 +87,6 @@ describe('Open flyout for a data row to see details', () => {
});
});

// skip for now due to tab removals
describe.skip('Add/delete/switch explorer top level tabs', () => {
beforeEach(() => {
landOnEventExplorer();
});

it('Add a new tab', () => {
cy.get('[data-test-subj="eventExplorer__topLevelTabbing"]')
.find('button.euiTab')
.then((lists) => {
const initialLength = Cypress.$(lists).length;
cy.get('[data-test-subj="eventExplorer__addNewTab"]').click();
cy.get('[data-test-subj="eventExplorer__topLevelTabbing"]')
.find('button.euiTab')
.should('have.length', initialLength + 1);
});
});

it('Click to switch to anther tab', () => {
cy.get('[data-test-subj="eventExplorer__addNewTab"]').click();
cy.get('[data-test-subj="eventExplorer__topLevelTabbing"]')
.find('button.euiTab')
.first()
.click();
cy.get('[data-test-subj="eventExplorer__topLevelTabbing"]')
.find('button.euiTab')
.first()
.should('have.class', 'euiTab-isSelected');
});

it('Close a tab', () => {
cy.get('[data-test-subj="eventExplorer__addNewTab"]').click();
cy.get('[data-test-subj="eventExplorer__topLevelTabbing"]')
.find('button.euiTab')
.then((lists) => {
const initialLength = Cypress.$(lists).length;
cy.get('[data-test-subj="eventExplorer__topLevelTabbing"] button.euiTab')
.first()
.find('[data-test-subj="eventExplorer__tabClose"]')
.click();
cy.get('[data-test-subj="eventExplorer__topLevelTabbing"]')
.find('button.euiTab')
.should('have.length', initialLength - 1);
});
});

it('Close current selected tab', () => {
cy.get('[data-test-subj="eventExplorer__addNewTab"]').click();
cy.get('[data-test-subj="eventExplorer__addNewTab"]').click();
cy.get('[data-test-subj="eventExplorer__topLevelTabbing"]')
.find('button.euiTab')
.then((lists) => {
const initialLength = Cypress.$(lists).length;
cy.get('[data-test-subj="eventExplorer__topLevelTabbing"] button.euiTab').eq(1).click();
cy.get('button.euiTab-isSelected [data-test-subj="eventExplorer__tabClose"]').click();
cy.get('[data-test-subj="eventExplorer__topLevelTabbing"]')
.find('button.euiTab')
.should('have.length', initialLength - 1);
});
});

it('Close another unselected tab', () => {
cy.get('[data-test-subj="eventExplorer__addNewTab"]').click();
cy.get('[data-test-subj="eventExplorer__addNewTab"]').click();
cy.get('[data-test-subj="eventExplorer__topLevelTabbing"]')
.find('button.euiTab')
.then((lists) => {
const initialLength = Cypress.$(lists).length;
cy.get('button.euiTab').first().find('[data-test-subj="eventExplorer__tabClose"]').click();
cy.get('[data-test-subj="eventExplorer__topLevelTabbing"]')
.find('button.euiTab')
.should('have.length', initialLength - 1);
});
});
});

describe('Click actions test', () => {
beforeEach(() => {
landOnEventHome();
});

it('Actions - click event explorer', () => {
cy.get('[data-test-subj="eventHomeAction"]').click();
cy.get('[data-test-subj="eventHomeAction__explorer"]').click();
cy.url().should('contain', '#/explorer');
});

it('Actions - add sample data', () => {
cy.get('[data-test-subj="eventHomeAction"]').click();
cy.get('[data-test-subj="eventHomeAction__addSamples"]').click();
cy.get('[data-test-subj="confirmModalConfirmButton"]').click();
cy.get('.euiToastHeader__title').should('contain', 'successfully');
});

it('Actions - delete saved queries', () => {
cy.get('[data-test-subj^="checkboxSelectRow"]').first().check();
cy.get('[data-test-subj="eventHomeAction"]').click();
cy.get('[data-test-subj="eventHomeAction__delete"]').click();
cy.get('[data-test-subj="popoverModal__deleteTextInput"]').type('delete');
cy.get('[data-test-subj="popoverModal__deleteButton"').click();
cy.get('.euiToastHeader__title').should('contain', 'successfully');
});
});

describe('Saves a query on explorer page', () => {
it('Saves a visualization on visualization tab of explorer page', () => {
landOnEventExplorer();
Expand Down Expand Up @@ -257,7 +132,9 @@ describe('Saves a query on explorer page', () => {
cy.get('.tab-title').contains('Events').click();
cy.get('[data-test-subj="eventExplorer__saveManagementPopover"]').click();
cy.get('[data-test-subj="eventExplorer__querySaveName"]').type(SAVE_QUERY1);
cy.get('[data-test-subj="eventExplorer__querySaveConfirm"]', { timeout: COMMAND_TIMEOUT_LONG }).click();
cy.get('[data-test-subj="eventExplorer__querySaveConfirm"]', {
timeout: COMMAND_TIMEOUT_LONG,
}).click();

cy.get('.euiToastHeader__title', { timeout: COMMAND_TIMEOUT_LONG })
.contains('successfully')
Expand All @@ -275,7 +152,9 @@ describe('Saves a query on explorer page', () => {
cy.get('.tab-title').contains('Events').click();
cy.get('[data-test-subj="eventExplorer__saveManagementPopover"]').click();
cy.get('[data-test-subj="eventExplorer__querySaveName"]').type(SAVE_QUERY4);
cy.get('[data-test-subj="eventExplorer__querySaveConfirm"]', { timeout: COMMAND_TIMEOUT_LONG }).click();
cy.get('[data-test-subj="eventExplorer__querySaveConfirm"]', {
timeout: COMMAND_TIMEOUT_LONG,
}).click();
cy.get('.euiToastHeader__title', { timeout: COMMAND_TIMEOUT_LONG })
.contains('successfully')
.should('exist');
Expand Down Expand Up @@ -521,11 +400,13 @@ describe('Visualizing data', () => {
.type(FIELD_AGENT);
cy.get(`input[value="${FIELD_AGENT}"]`).click();
cy.get('[data-test-subj="panelCloseBtn"]').click();
cy.get('[data-test-subj="visualizeEditorRenderButton"]', { timeout: COMMAND_TIMEOUT_LONG }).click();
cy.get('[data-test-subj="visualizeEditorRenderButton"]', {
timeout: COMMAND_TIMEOUT_LONG,
}).click();

cy.get('.infolayer .legendtext').as('legandTxt');
cy.get('@legandTxt').should('contain', BAR_LEG_TEXT_1);
cy.get('@legandTxt').should('contain', BAR_LEG_TEXT_2);
cy.get('@legandTxt').should('contain', BAR_LEG_TEXT_3);
});
});
});
47 changes: 47 additions & 0 deletions .cypress/integration/event_analytics_test/home.spec.js
Original file line number Diff line number Diff line change
@@ -0,0 +1,47 @@
/*
* Copyright OpenSearch Contributors
* SPDX-License-Identifier: Apache-2.0
*/

import { landOnEventHome } from '../../utils/event_analytics/helpers';

describe('Click actions test', () => {
beforeEach(() => {
landOnEventHome();
});

it('Go to event explorer from button in No saved objects panel', () => {
cy.get('[data-test-subj="actionEventExplorer"]').click();
cy.url().should('contain', '#/explorer');
});

it('Click learn more', () => {
cy.get('[data-test-subj="logHome__learnMore"]')
.invoke('removeAttr', 'target') // remove the target attribute to stay in the same tab
.then($link => {
const expectedUrl = $link.prop('href');
expect(expectedUrl).to.contain('/observing-your-data/event-analytics');
});
});

it('Actions - click event explorer', () => {
cy.get('[data-test-subj="eventHomeAction__explorer"]').click();
cy.url().should('contain', '#/explorer');
});

it('Actions - add sample data', () => {
cy.get('[data-test-subj="eventHomeAction"]').click();
cy.get('[data-test-subj="eventHomeAction__addSamples"]').click();
cy.get('[data-test-subj="confirmModalConfirmButton"]').click();
cy.get('.euiToastHeader__title').should('contain', 'successfully');
});

it('Actions - delete saved queries', () => {
cy.get('[data-test-subj^="checkboxSelectRow"]').first().check();
cy.get('[data-test-subj="eventHomeAction"]').click();
cy.get('[data-test-subj="eventHomeAction__delete"]').click();
cy.get('[data-test-subj="popoverModal__deleteTextInput"]').type('delete');
cy.get('[data-test-subj="popoverModal__deleteButton"').click();
cy.get('.euiToastHeader__title').should('contain', 'successfully');
});
});
9 changes: 7 additions & 2 deletions public/components/event_analytics/home/home.tsx
Original file line number Diff line number Diff line change
Expand Up @@ -70,7 +70,7 @@ interface IHomeProps {
const EventAnalyticsHome = (props: IHomeProps) => {
const { setToast, http } = props;
const history = useHistory();
const [selectedDateRange, setSelectedDateRange] = useState<string[]>(['now-15m', 'now']);
const [selectedDateRange] = useState<string[]>(['now-15m', 'now']);
const [savedHistories, setSavedHistories] = useState<any[]>([]);
const [selectedHistories, setSelectedHistories] = useState<any[]>([]);
const [isActionsPopoverOpen, setIsActionsPopoverOpen] = useState(false);
Expand Down Expand Up @@ -267,7 +267,12 @@ const EventAnalyticsHome = (props: IHomeProps) => {
Use Events Analytics to monitor, correlate, analyze and visualize machine
generated data through Piped Processing Language. Save frequently searched queries
and visualizations for quick access{' '}
<EuiLink external={true} href={EVENT_ANALYTICS_DOCUMENTATION_URL} target="blank">
<EuiLink
external={true}
href={EVENT_ANALYTICS_DOCUMENTATION_URL}
target="blank"
data-test-subj="logHome__learnMore"
>
Learn more
</EuiLink>
</EuiText>
Expand Down

0 comments on commit c222868

Please sign in to comment.