[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:
parent
85481a7017
commit
10afcf4be8
|
@ -16,6 +16,7 @@ import {
|
|||
closeSignals,
|
||||
goToClosedSignals,
|
||||
goToOpenedSignals,
|
||||
openFirstSignal,
|
||||
openSignals,
|
||||
selectNumberOfSignals,
|
||||
waitForSignalsPanelToBeLoaded,
|
||||
|
@ -28,129 +29,181 @@ import { loginAndWaitForPage } from '../tasks/login';
|
|||
import { DETECTIONS } from '../urls/navigation';
|
||||
|
||||
describe('Detections', () => {
|
||||
beforeEach(() => {
|
||||
esArchiverLoad('signals');
|
||||
loginAndWaitForPage(DETECTIONS);
|
||||
context('Closing signals', () => {
|
||||
beforeEach(() => {
|
||||
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', () => {
|
||||
waitForSignalsPanelToBeLoaded();
|
||||
waitForSignalsToBeLoaded();
|
||||
it('Open one signal when more than one closed signals are selected', () => {
|
||||
waitForSignals();
|
||||
goToClosedSignals();
|
||||
waitForSignalsToBeLoaded();
|
||||
|
||||
cy.get(NUMBER_OF_SIGNALS)
|
||||
.invoke('text')
|
||||
.then(numberOfSignals => {
|
||||
cy.get(SHOWING_SIGNALS)
|
||||
.invoke('text')
|
||||
.should('eql', `Showing ${numberOfSignals} signals`);
|
||||
cy.get(NUMBER_OF_SIGNALS)
|
||||
.invoke('text')
|
||||
.then(numberOfSignals => {
|
||||
const numberOfSignalsToBeOpened = 1;
|
||||
const numberOfSignalsToBeSelected = 3;
|
||||
|
||||
const numberOfSignalsToBeClosed = 3;
|
||||
selectNumberOfSignals(numberOfSignalsToBeClosed);
|
||||
cy.get(OPEN_CLOSE_SIGNALS_BTN).should('have.attr', 'disabled');
|
||||
selectNumberOfSignals(numberOfSignalsToBeSelected);
|
||||
cy.get(OPEN_CLOSE_SIGNALS_BTN).should('not.have.attr', 'disabled');
|
||||
|
||||
cy.get(SELECTED_SIGNALS)
|
||||
.invoke('text')
|
||||
.should('eql', `Selected ${numberOfSignalsToBeClosed} signals`);
|
||||
openFirstSignal();
|
||||
cy.reload();
|
||||
goToClosedSignals();
|
||||
waitForSignalsToBeLoaded();
|
||||
waitForSignals();
|
||||
|
||||
closeSignals();
|
||||
waitForSignals();
|
||||
cy.reload();
|
||||
waitForSignals();
|
||||
waitForSignalsToBeLoaded();
|
||||
const expectedNumberOfSignals = +numberOfSignals - numberOfSignalsToBeOpened;
|
||||
cy.get(NUMBER_OF_SIGNALS)
|
||||
.invoke('text')
|
||||
.should('eq', expectedNumberOfSignals.toString());
|
||||
cy.get(SHOWING_SIGNALS)
|
||||
.invoke('text')
|
||||
.should('eql', `Showing ${expectedNumberOfSignals.toString()} signals`);
|
||||
|
||||
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`);
|
||||
goToOpenedSignals();
|
||||
waitForSignals();
|
||||
|
||||
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);
|
||||
});
|
||||
cy.get(NUMBER_OF_SIGNALS)
|
||||
.invoke('text')
|
||||
.should('eql', numberOfSignalsToBeOpened.toString());
|
||||
cy.get(SHOWING_SIGNALS)
|
||||
.invoke('text')
|
||||
.should('eql', `Showing ${numberOfSignalsToBeOpened.toString()} signal`);
|
||||
cy.get(SIGNALS).should('have.length', numberOfSignalsToBeOpened);
|
||||
});
|
||||
});
|
||||
});
|
||||
});
|
||||
|
|
|
@ -40,6 +40,12 @@ export const goToOpenedSignals = () => {
|
|||
cy.get(OPENED_SIGNALS_BTN).click({ force: true });
|
||||
};
|
||||
|
||||
export const openFirstSignal = () => {
|
||||
cy.get(OPEN_CLOSE_SIGNAL_BTN)
|
||||
.first()
|
||||
.click({ force: true });
|
||||
};
|
||||
|
||||
export const openSignals = () => {
|
||||
cy.get(OPEN_CLOSE_SIGNALS_BTN).click({ force: true });
|
||||
};
|
||||
|
|
BIN
x-pack/test/siem_cypress/es_archives/closed_signals/data.json.gz
Normal file
BIN
x-pack/test/siem_cypress/es_archives/closed_signals/data.json.gz
Normal file
Binary file not shown.
7605
x-pack/test/siem_cypress/es_archives/closed_signals/mappings.json
Normal file
7605
x-pack/test/siem_cypress/es_archives/closed_signals/mappings.json
Normal file
File diff suppressed because it is too large
Load diff
Loading…
Reference in a new issue