[SIEM] Adds 'Open one signal' Cypress test (#60484)

* adds data for having closed signals

* adds 'Open one signal when more than one closed signals are selected' test'

Co-authored-by: Elastic Machine <elasticmachine@users.noreply.github.com>
This commit is contained in:
MadameSheema 2020-03-23 18:46:35 +01:00 committed by GitHub
parent 85481a7017
commit 10afcf4be8
No known key found for this signature in database
GPG key ID: 4AEE18F83AFDEB23
4 changed files with 7780 additions and 116 deletions

View file

@ -16,6 +16,7 @@ import {
closeSignals, closeSignals,
goToClosedSignals, goToClosedSignals,
goToOpenedSignals, goToOpenedSignals,
openFirstSignal,
openSignals, openSignals,
selectNumberOfSignals, selectNumberOfSignals,
waitForSignalsPanelToBeLoaded, waitForSignalsPanelToBeLoaded,
@ -28,129 +29,181 @@ import { loginAndWaitForPage } from '../tasks/login';
import { DETECTIONS } from '../urls/navigation'; import { DETECTIONS } from '../urls/navigation';
describe('Detections', () => { describe('Detections', () => {
beforeEach(() => { context('Closing signals', () => {
esArchiverLoad('signals'); beforeEach(() => {
loginAndWaitForPage(DETECTIONS); esArchiverLoad('signals');
loginAndWaitForPage(DETECTIONS);
});
it('Closes and opens signals', () => {
waitForSignalsPanelToBeLoaded();
waitForSignalsToBeLoaded();
cy.get(NUMBER_OF_SIGNALS)
.invoke('text')
.then(numberOfSignals => {
cy.get(SHOWING_SIGNALS)
.invoke('text')
.should('eql', `Showing ${numberOfSignals} signals`);
const numberOfSignalsToBeClosed = 3;
selectNumberOfSignals(numberOfSignalsToBeClosed);
cy.get(SELECTED_SIGNALS)
.invoke('text')
.should('eql', `Selected ${numberOfSignalsToBeClosed} signals`);
closeSignals();
waitForSignals();
cy.reload();
waitForSignals();
const expectedNumberOfSignalsAfterClosing = +numberOfSignals - numberOfSignalsToBeClosed;
cy.get(NUMBER_OF_SIGNALS)
.invoke('text')
.should('eq', expectedNumberOfSignalsAfterClosing.toString());
cy.get(SHOWING_SIGNALS)
.invoke('text')
.should('eql', `Showing ${expectedNumberOfSignalsAfterClosing.toString()} signals`);
goToClosedSignals();
waitForSignals();
cy.get(NUMBER_OF_SIGNALS)
.invoke('text')
.should('eql', numberOfSignalsToBeClosed.toString());
cy.get(SHOWING_SIGNALS)
.invoke('text')
.should('eql', `Showing ${numberOfSignalsToBeClosed.toString()} signals`);
cy.get(SIGNALS).should('have.length', numberOfSignalsToBeClosed);
const numberOfSignalsToBeOpened = 1;
selectNumberOfSignals(numberOfSignalsToBeOpened);
cy.get(SELECTED_SIGNALS)
.invoke('text')
.should('eql', `Selected ${numberOfSignalsToBeOpened} signal`);
openSignals();
waitForSignals();
cy.reload();
waitForSignalsToBeLoaded();
waitForSignals();
goToClosedSignals();
waitForSignals();
const expectedNumberOfClosedSignalsAfterOpened = 2;
cy.get(NUMBER_OF_SIGNALS)
.invoke('text')
.should('eql', expectedNumberOfClosedSignalsAfterOpened.toString());
cy.get(SHOWING_SIGNALS)
.invoke('text')
.should(
'eql',
`Showing ${expectedNumberOfClosedSignalsAfterOpened.toString()} signals`
);
cy.get(SIGNALS).should('have.length', expectedNumberOfClosedSignalsAfterOpened);
goToOpenedSignals();
waitForSignals();
const expectedNumberOfOpenedSignals =
+numberOfSignals - expectedNumberOfClosedSignalsAfterOpened;
cy.get(SHOWING_SIGNALS)
.invoke('text')
.should('eql', `Showing ${expectedNumberOfOpenedSignals.toString()} signals`);
cy.get('[data-test-subj="server-side-event-count"]')
.invoke('text')
.should('eql', expectedNumberOfOpenedSignals.toString());
});
});
it('Closes one signal when more than one opened signals are selected', () => {
waitForSignalsToBeLoaded();
cy.get(NUMBER_OF_SIGNALS)
.invoke('text')
.then(numberOfSignals => {
const numberOfSignalsToBeClosed = 1;
const numberOfSignalsToBeSelected = 3;
cy.get(OPEN_CLOSE_SIGNALS_BTN).should('have.attr', 'disabled');
selectNumberOfSignals(numberOfSignalsToBeSelected);
cy.get(OPEN_CLOSE_SIGNALS_BTN).should('not.have.attr', 'disabled');
closeFirstSignal();
cy.reload();
waitForSignalsToBeLoaded();
waitForSignals();
const expectedNumberOfSignals = +numberOfSignals - numberOfSignalsToBeClosed;
cy.get(NUMBER_OF_SIGNALS)
.invoke('text')
.should('eq', expectedNumberOfSignals.toString());
cy.get(SHOWING_SIGNALS)
.invoke('text')
.should('eql', `Showing ${expectedNumberOfSignals.toString()} signals`);
goToClosedSignals();
waitForSignals();
cy.get(NUMBER_OF_SIGNALS)
.invoke('text')
.should('eql', numberOfSignalsToBeClosed.toString());
cy.get(SHOWING_SIGNALS)
.invoke('text')
.should('eql', `Showing ${numberOfSignalsToBeClosed.toString()} signal`);
cy.get(SIGNALS).should('have.length', numberOfSignalsToBeClosed);
});
});
}); });
context('Opening signals', () => {
beforeEach(() => {
esArchiverLoad('closed_signals');
loginAndWaitForPage(DETECTIONS);
});
it('Closes and opens signals', () => { it('Open one signal when more than one closed signals are selected', () => {
waitForSignalsPanelToBeLoaded(); waitForSignals();
waitForSignalsToBeLoaded(); goToClosedSignals();
waitForSignalsToBeLoaded();
cy.get(NUMBER_OF_SIGNALS) cy.get(NUMBER_OF_SIGNALS)
.invoke('text') .invoke('text')
.then(numberOfSignals => { .then(numberOfSignals => {
cy.get(SHOWING_SIGNALS) const numberOfSignalsToBeOpened = 1;
.invoke('text') const numberOfSignalsToBeSelected = 3;
.should('eql', `Showing ${numberOfSignals} signals`);
const numberOfSignalsToBeClosed = 3; cy.get(OPEN_CLOSE_SIGNALS_BTN).should('have.attr', 'disabled');
selectNumberOfSignals(numberOfSignalsToBeClosed); selectNumberOfSignals(numberOfSignalsToBeSelected);
cy.get(OPEN_CLOSE_SIGNALS_BTN).should('not.have.attr', 'disabled');
cy.get(SELECTED_SIGNALS) openFirstSignal();
.invoke('text') cy.reload();
.should('eql', `Selected ${numberOfSignalsToBeClosed} signals`); goToClosedSignals();
waitForSignalsToBeLoaded();
waitForSignals();
closeSignals(); const expectedNumberOfSignals = +numberOfSignals - numberOfSignalsToBeOpened;
waitForSignals(); cy.get(NUMBER_OF_SIGNALS)
cy.reload(); .invoke('text')
waitForSignals(); .should('eq', expectedNumberOfSignals.toString());
waitForSignalsToBeLoaded(); cy.get(SHOWING_SIGNALS)
.invoke('text')
.should('eql', `Showing ${expectedNumberOfSignals.toString()} signals`);
const expectedNumberOfSignalsAfterClosing = +numberOfSignals - numberOfSignalsToBeClosed; goToOpenedSignals();
cy.get(NUMBER_OF_SIGNALS) waitForSignals();
.invoke('text')
.should('eq', expectedNumberOfSignalsAfterClosing.toString());
cy.get(SHOWING_SIGNALS)
.invoke('text')
.should('eql', `Showing ${expectedNumberOfSignalsAfterClosing.toString()} signals`);
goToClosedSignals(); cy.get(NUMBER_OF_SIGNALS)
waitForSignals(); .invoke('text')
.should('eql', numberOfSignalsToBeOpened.toString());
cy.get(NUMBER_OF_SIGNALS) cy.get(SHOWING_SIGNALS)
.invoke('text') .invoke('text')
.should('eql', numberOfSignalsToBeClosed.toString()); .should('eql', `Showing ${numberOfSignalsToBeOpened.toString()} signal`);
cy.get(SHOWING_SIGNALS) cy.get(SIGNALS).should('have.length', numberOfSignalsToBeOpened);
.invoke('text') });
.should('eql', `Showing ${numberOfSignalsToBeClosed.toString()} signals`); });
cy.get(SIGNALS).should('have.length', numberOfSignalsToBeClosed);
const numberOfSignalsToBeOpened = 1;
selectNumberOfSignals(numberOfSignalsToBeOpened);
cy.get(SELECTED_SIGNALS)
.invoke('text')
.should('eql', `Selected ${numberOfSignalsToBeOpened} signal`);
openSignals();
waitForSignals();
cy.reload();
waitForSignalsToBeLoaded();
waitForSignals();
goToClosedSignals();
waitForSignals();
const expectedNumberOfClosedSignalsAfterOpened = 2;
cy.get(NUMBER_OF_SIGNALS)
.invoke('text')
.should('eql', expectedNumberOfClosedSignalsAfterOpened.toString());
cy.get(SHOWING_SIGNALS)
.invoke('text')
.should('eql', `Showing ${expectedNumberOfClosedSignalsAfterOpened.toString()} signals`);
cy.get(SIGNALS).should('have.length', expectedNumberOfClosedSignalsAfterOpened);
goToOpenedSignals();
waitForSignals();
const expectedNumberOfOpenedSignals =
+numberOfSignals - expectedNumberOfClosedSignalsAfterOpened;
cy.get(SHOWING_SIGNALS)
.invoke('text')
.should('eql', `Showing ${expectedNumberOfOpenedSignals.toString()} signals`);
cy.get('[data-test-subj="server-side-event-count"]')
.invoke('text')
.should('eql', expectedNumberOfOpenedSignals.toString());
});
});
it('Closes one signal when more than one opened signals are selected', () => {
waitForSignalsToBeLoaded();
cy.get(NUMBER_OF_SIGNALS)
.invoke('text')
.then(numberOfSignals => {
const numberOfSignalsToBeClosed = 1;
const numberOfSignalsToBeSelected = 3;
cy.get(OPEN_CLOSE_SIGNALS_BTN).should('have.attr', 'disabled');
selectNumberOfSignals(numberOfSignalsToBeSelected);
cy.get(OPEN_CLOSE_SIGNALS_BTN).should('not.have.attr', 'disabled');
closeFirstSignal();
cy.reload();
waitForSignalsToBeLoaded();
waitForSignals();
const expectedNumberOfSignals = +numberOfSignals - numberOfSignalsToBeClosed;
cy.get(NUMBER_OF_SIGNALS)
.invoke('text')
.should('eq', expectedNumberOfSignals.toString());
cy.get(SHOWING_SIGNALS)
.invoke('text')
.should('eql', `Showing ${expectedNumberOfSignals.toString()} signals`);
goToClosedSignals();
waitForSignals();
cy.get(NUMBER_OF_SIGNALS)
.invoke('text')
.should('eql', numberOfSignalsToBeClosed.toString());
cy.get(SHOWING_SIGNALS)
.invoke('text')
.should('eql', `Showing ${numberOfSignalsToBeClosed.toString()} signal`);
cy.get(SIGNALS).should('have.length', numberOfSignalsToBeClosed);
});
}); });
}); });

View file

@ -40,6 +40,12 @@ export const goToOpenedSignals = () => {
cy.get(OPENED_SIGNALS_BTN).click({ force: true }); cy.get(OPENED_SIGNALS_BTN).click({ force: true });
}; };
export const openFirstSignal = () => {
cy.get(OPEN_CLOSE_SIGNAL_BTN)
.first()
.click({ force: true });
};
export const openSignals = () => { export const openSignals = () => {
cy.get(OPEN_CLOSE_SIGNALS_BTN).click({ force: true }); cy.get(OPEN_CLOSE_SIGNALS_BTN).click({ force: true });
}; };

File diff suppressed because it is too large Load diff