33 * or more contributor license agreements. Licensed under the Elastic License;
44 * you may not use this file except in compliance with the Elastic License.
55 */
6+ import { newRule } from '../objects/rule' ;
67import {
78 ALERTS ,
89 ALERTS_COUNT ,
@@ -24,37 +25,35 @@ import {
2425 waitForAlertsToBeLoaded ,
2526 markInProgressFirstAlert ,
2627 goToInProgressAlerts ,
28+ waitForAlertsIndexToBeCreated ,
2729} from '../tasks/alerts' ;
28- import { removeSignalsIndex } from '../tasks/api_calls/rules' ;
30+ import { createCustomRuleActivated } from '../tasks/api_calls/rules' ;
2931import { cleanKibana } from '../tasks/common' ;
30- import { esArchiverLoad , esArchiverUnload } from '../tasks/es_archiver ' ;
32+ import { waitForAlertsToPopulate } from '../tasks/create_new_rule ' ;
3133import { loginAndWaitForPage } from '../tasks/login' ;
34+ import { refreshPage } from '../tasks/security_header' ;
3235
3336import { DETECTIONS_URL } from '../urls/navigation' ;
3437
3538describe ( 'Alerts' , ( ) => {
3639 context ( 'Closing alerts' , ( ) => {
3740 beforeEach ( ( ) => {
3841 cleanKibana ( ) ;
39- removeSignalsIndex ( ) ;
40- esArchiverLoad ( 'alerts' ) ;
4142 loginAndWaitForPage ( DETECTIONS_URL ) ;
42- } ) ;
43-
44- afterEach ( ( ) => {
45- esArchiverUnload ( 'alerts' ) ;
43+ waitForAlertsPanelToBeLoaded ( ) ;
44+ waitForAlertsIndexToBeCreated ( ) ;
45+ createCustomRuleActivated ( newRule ) ;
46+ refreshPage ( ) ;
47+ waitForAlertsToPopulate ( ) ;
4648 } ) ;
4749
4850 it ( 'Closes and opens alerts' , ( ) => {
49- waitForAlertsPanelToBeLoaded ( ) ;
50- waitForAlertsToBeLoaded ( ) ;
51-
51+ const numberOfAlertsToBeClosed = 3 ;
5252 cy . get ( ALERTS_COUNT )
5353 . invoke ( 'text' )
5454 . then ( ( numberOfAlerts ) => {
5555 cy . get ( SHOWING_ALERTS ) . should ( 'have.text' , `Showing ${ numberOfAlerts } alerts` ) ;
5656
57- const numberOfAlertsToBeClosed = 3 ;
5857 selectNumberOfAlerts ( numberOfAlertsToBeClosed ) ;
5958
6059 cy . get ( SELECTED_ALERTS ) . should (
@@ -64,8 +63,6 @@ describe('Alerts', () => {
6463
6564 closeAlerts ( ) ;
6665 waitForAlerts ( ) ;
67- cy . reload ( ) ;
68- waitForAlerts ( ) ;
6966
7067 const expectedNumberOfAlertsAfterClosing = + numberOfAlerts - numberOfAlertsToBeClosed ;
7168 cy . get ( ALERTS_COUNT ) . should ( 'have.text' , expectedNumberOfAlertsAfterClosing . toString ( ) ) ;
@@ -92,11 +89,6 @@ describe('Alerts', () => {
9289
9390 openAlerts ( ) ;
9491 waitForAlerts ( ) ;
95- cy . reload ( ) ;
96- waitForAlertsToBeLoaded ( ) ;
97- waitForAlerts ( ) ;
98- goToClosedAlerts ( ) ;
99- waitForAlerts ( ) ;
10092
10193 const expectedNumberOfClosedAlertsAfterOpened = 2 ;
10294 cy . get ( ALERTS_COUNT ) . should (
@@ -124,8 +116,6 @@ describe('Alerts', () => {
124116 } ) ;
125117
126118 it ( 'Closes one alert when more than one opened alerts are selected' , ( ) => {
127- waitForAlertsToBeLoaded ( ) ;
128-
129119 cy . get ( ALERTS_COUNT )
130120 . invoke ( 'text' )
131121 . then ( ( numberOfAlerts ) => {
@@ -137,8 +127,6 @@ describe('Alerts', () => {
137127 cy . get ( TAKE_ACTION_POPOVER_BTN ) . should ( 'not.have.attr' , 'disabled' ) ;
138128
139129 closeFirstAlert ( ) ;
140- cy . reload ( ) ;
141- waitForAlertsToBeLoaded ( ) ;
142130 waitForAlerts ( ) ;
143131
144132 const expectedNumberOfAlerts = + numberOfAlerts - numberOfAlertsToBeClosed ;
@@ -164,73 +152,82 @@ describe('Alerts', () => {
164152 context ( 'Opening alerts' , ( ) => {
165153 beforeEach ( ( ) => {
166154 cleanKibana ( ) ;
167- removeSignalsIndex ( ) ;
168- esArchiverLoad ( 'closed_alerts' ) ;
169155 loginAndWaitForPage ( DETECTIONS_URL ) ;
170- } ) ;
156+ waitForAlertsPanelToBeLoaded ( ) ;
157+ waitForAlertsIndexToBeCreated ( ) ;
158+ createCustomRuleActivated ( newRule ) ;
159+ refreshPage ( ) ;
160+ waitForAlertsToPopulate ( ) ;
161+ selectNumberOfAlerts ( 5 ) ;
162+
163+ cy . get ( SELECTED_ALERTS ) . should ( 'have.text' , `Selected 5 alerts` ) ;
171164
172- afterEach ( ( ) => {
173- esArchiverUnload ( 'closed_alerts' ) ;
165+ closeAlerts ( ) ;
166+ waitForAlerts ( ) ;
167+ refreshPage ( ) ;
174168 } ) ;
175169
176170 it ( 'Open one alert when more than one closed alerts are selected' , ( ) => {
177- waitForAlerts ( ) ;
178- goToClosedAlerts ( ) ;
179- waitForAlertsToBeLoaded ( ) ;
171+ waitForAlertsToPopulate ( ) ;
180172
181173 cy . get ( ALERTS_COUNT )
182174 . invoke ( 'text' )
183- . then ( ( numberOfAlerts ) => {
184- const numberOfAlertsToBeOpened = 1 ;
185- const numberOfAlertsToBeSelected = 3 ;
186-
187- cy . get ( TAKE_ACTION_POPOVER_BTN ) . should ( 'have.attr' , 'disabled' ) ;
188- selectNumberOfAlerts ( numberOfAlertsToBeSelected ) ;
189- cy . get ( TAKE_ACTION_POPOVER_BTN ) . should ( 'not.have.attr' , 'disabled' ) ;
190-
191- openFirstAlert ( ) ;
192- cy . reload ( ) ;
175+ . then ( ( numberOfOpenedAlertsText ) => {
176+ const numberOfOpenedAlerts = parseInt ( numberOfOpenedAlertsText , 10 ) ;
193177 goToClosedAlerts ( ) ;
194- waitForAlertsToBeLoaded ( ) ;
195- waitForAlerts ( ) ;
196-
197- const expectedNumberOfAlerts = + numberOfAlerts - numberOfAlertsToBeOpened ;
198- cy . get ( ALERTS_COUNT ) . should ( 'have.text' , expectedNumberOfAlerts . toString ( ) ) ;
199- cy . get ( SHOWING_ALERTS ) . should (
200- 'have.text' ,
201- `Showing ${ expectedNumberOfAlerts . toString ( ) } alerts`
202- ) ;
203-
204- goToOpenedAlerts ( ) ;
205- waitForAlerts ( ) ;
206-
207- cy . get ( ALERTS_COUNT ) . should ( 'have.text' , numberOfAlertsToBeOpened . toString ( ) ) ;
208- cy . get ( SHOWING_ALERTS ) . should (
209- 'have.text' ,
210- `Showing ${ numberOfAlertsToBeOpened . toString ( ) } alert`
211- ) ;
212- cy . get ( ALERTS ) . should ( 'have.length' , numberOfAlertsToBeOpened ) ;
178+ cy . get ( ALERTS_COUNT )
179+ . invoke ( 'text' )
180+ . then ( ( numberOfAlerts ) => {
181+ const numberOfAlertsToBeOpened = 1 ;
182+ const numberOfAlertsToBeSelected = 3 ;
183+
184+ cy . get ( TAKE_ACTION_POPOVER_BTN ) . should ( 'have.attr' , 'disabled' ) ;
185+ selectNumberOfAlerts ( numberOfAlertsToBeSelected ) ;
186+ cy . get ( SELECTED_ALERTS ) . should (
187+ 'have.text' ,
188+ `Selected ${ numberOfAlertsToBeSelected } alerts`
189+ ) ;
190+
191+ cy . get ( TAKE_ACTION_POPOVER_BTN ) . should ( 'not.have.attr' , 'disabled' ) ;
192+
193+ openFirstAlert ( ) ;
194+ waitForAlerts ( ) ;
195+
196+ const expectedNumberOfAlerts = + numberOfAlerts - numberOfAlertsToBeOpened ;
197+ cy . get ( ALERTS_COUNT ) . should ( 'have.text' , expectedNumberOfAlerts . toString ( ) ) ;
198+ cy . get ( SHOWING_ALERTS ) . should (
199+ 'have.text' ,
200+ `Showing ${ expectedNumberOfAlerts . toString ( ) } alerts`
201+ ) ;
202+
203+ goToOpenedAlerts ( ) ;
204+ waitForAlerts ( ) ;
205+
206+ cy . get ( ALERTS_COUNT ) . should (
207+ 'have.text' ,
208+ ( numberOfOpenedAlerts + numberOfAlertsToBeOpened ) . toString ( )
209+ ) ;
210+ cy . get ( SHOWING_ALERTS ) . should (
211+ 'have.text' ,
212+ `Showing ${ ( numberOfOpenedAlerts + numberOfAlertsToBeOpened ) . toString ( ) } alerts`
213+ ) ;
214+ } ) ;
213215 } ) ;
214216 } ) ;
215217 } ) ;
216218
217219 context ( 'Marking alerts as in-progress' , ( ) => {
218220 beforeEach ( ( ) => {
219221 cleanKibana ( ) ;
220- removeSignalsIndex ( ) ;
221- esArchiverLoad ( 'alerts' ) ;
222222 loginAndWaitForPage ( DETECTIONS_URL ) ;
223- } ) ;
224-
225- afterEach ( ( ) => {
226- esArchiverUnload ( 'alerts' ) ;
227- removeSignalsIndex ( ) ;
223+ waitForAlertsPanelToBeLoaded ( ) ;
224+ waitForAlertsIndexToBeCreated ( ) ;
225+ createCustomRuleActivated ( newRule ) ;
226+ refreshPage ( ) ;
227+ waitForAlertsToPopulate ( ) ;
228228 } ) ;
229229
230230 it ( 'Mark one alert in progress when more than one open alerts are selected' , ( ) => {
231- waitForAlerts ( ) ;
232- waitForAlertsToBeLoaded ( ) ;
233-
234231 cy . get ( ALERTS_COUNT )
235232 . invoke ( 'text' )
236233 . then ( ( numberOfAlerts ) => {
@@ -242,8 +239,6 @@ describe('Alerts', () => {
242239 cy . get ( TAKE_ACTION_POPOVER_BTN ) . should ( 'not.have.attr' , 'disabled' ) ;
243240
244241 markInProgressFirstAlert ( ) ;
245- cy . reload ( ) ;
246- goToOpenedAlerts ( ) ;
247242 waitForAlertsToBeLoaded ( ) ;
248243
249244 const expectedNumberOfAlerts = + numberOfAlerts - numberOfAlertsToBeMarkedInProgress ;
0 commit comments