77import { newRule } from '../objects/rule' ;
88
99import {
10- ABOUT_DESCRIPTION ,
11- ABOUT_EXPECTED_URLS ,
1210 ABOUT_FALSE_POSITIVES ,
1311 ABOUT_MITRE ,
1412 ABOUT_RISK ,
15- ABOUT_RULE_DESCRIPTION ,
1613 ABOUT_SEVERITY ,
14+ ABOUT_STEP ,
1715 ABOUT_TAGS ,
1816 ABOUT_TIMELINE ,
17+ ABOUT_URLS ,
1918 DEFINITION_CUSTOM_QUERY ,
20- DEFINITION_DESCRIPTION ,
2119 DEFINITION_INDEX_PATTERNS ,
20+ DEFINITION_STEP ,
2221 RULE_NAME_HEADER ,
23- SCHEDULE_DESCRIPTION ,
2422 SCHEDULE_LOOPBACK ,
2523 SCHEDULE_RUNS ,
24+ SCHEDULE_STEP ,
25+ ABOUT_RULE_DESCRIPTION ,
2626} from '../screens/rule_details' ;
2727import {
2828 CUSTOM_RULES_BTN ,
2929 ELASTIC_RULES_BTN ,
3030 RISK_SCORE ,
3131 RULE_NAME ,
32- RULES_TABLE ,
3332 RULES_ROW ,
33+ RULES_TABLE ,
3434 SEVERITY ,
3535} from '../screens/signal_detection_rules' ;
3636
@@ -127,10 +127,25 @@ describe('Signal detection rules', () => {
127127
128128 goToRuleDetails ( ) ;
129129
130- cy . get ( RULE_NAME_HEADER )
131- . invoke ( 'text' )
132- . should ( 'eql' , `${ newRule . name } Beta` ) ;
133-
130+ let expectedUrls = '' ;
131+ newRule . referenceUrls . forEach ( url => {
132+ expectedUrls = expectedUrls + url ;
133+ } ) ;
134+ let expectedFalsePositives = '' ;
135+ newRule . falsePositivesExamples . forEach ( falsePositive => {
136+ expectedFalsePositives = expectedFalsePositives + falsePositive ;
137+ } ) ;
138+ let expectedTags = '' ;
139+ newRule . tags . forEach ( tag => {
140+ expectedTags = expectedTags + tag ;
141+ } ) ;
142+ let expectedMitre = '' ;
143+ newRule . mitre . forEach ( mitre => {
144+ expectedMitre = expectedMitre + mitre . tactic ;
145+ mitre . techniques . forEach ( technique => {
146+ expectedMitre = expectedMitre + technique ;
147+ } ) ;
148+ } ) ;
134149 const expectedIndexPatterns = [
135150 'apm-*-transaction*' ,
136151 'auditbeat-*' ,
@@ -139,77 +154,60 @@ describe('Signal detection rules', () => {
139154 'packetbeat-*' ,
140155 'winlogbeat-*' ,
141156 ] ;
142- cy . get ( DEFINITION_INDEX_PATTERNS ) . then ( patterns => {
143- cy . wrap ( patterns ) . each ( ( pattern , index ) => {
144- cy . wrap ( pattern )
145- . invoke ( 'text' )
146- . should ( 'eql' , expectedIndexPatterns [ index ] ) ;
147- } ) ;
148- } ) ;
149- cy . get ( DEFINITION_DESCRIPTION )
150- . eq ( DEFINITION_CUSTOM_QUERY )
157+
158+ cy . get ( RULE_NAME_HEADER )
151159 . invoke ( 'text' )
152- . should ( 'eql' , `${ newRule . customQuery } ` ) ;
153- cy . get ( ABOUT_DESCRIPTION )
154- . eq ( ABOUT_RULE_DESCRIPTION )
160+ . should ( 'eql' , `${ newRule . name } Beta ` ) ;
161+
162+ cy . get ( ABOUT_RULE_DESCRIPTION )
155163 . invoke ( 'text' )
156164 . should ( 'eql' , newRule . description ) ;
157- cy . get ( ABOUT_DESCRIPTION )
165+ cy . get ( ABOUT_STEP )
158166 . eq ( ABOUT_SEVERITY )
159167 . invoke ( 'text' )
160168 . should ( 'eql' , newRule . severity ) ;
161- cy . get ( ABOUT_DESCRIPTION )
169+ cy . get ( ABOUT_STEP )
162170 . eq ( ABOUT_RISK )
163171 . invoke ( 'text' )
164172 . should ( 'eql' , newRule . riskScore ) ;
165- cy . get ( ABOUT_DESCRIPTION )
173+ cy . get ( ABOUT_STEP )
166174 . eq ( ABOUT_TIMELINE )
167175 . invoke ( 'text' )
168176 . should ( 'eql' , 'Default blank timeline' ) ;
169-
170- let expectedUrls = '' ;
171- newRule . referenceUrls . forEach ( url => {
172- expectedUrls = expectedUrls + url ;
173- } ) ;
174- cy . get ( ABOUT_DESCRIPTION )
175- . eq ( ABOUT_EXPECTED_URLS )
177+ cy . get ( ABOUT_STEP )
178+ . eq ( ABOUT_URLS )
176179 . invoke ( 'text' )
177180 . should ( 'eql' , expectedUrls ) ;
178-
179- let expectedFalsePositives = '' ;
180- newRule . falsePositivesExamples . forEach ( falsePositive => {
181- expectedFalsePositives = expectedFalsePositives + falsePositive ;
182- } ) ;
183- cy . get ( ABOUT_DESCRIPTION )
181+ cy . get ( ABOUT_STEP )
184182 . eq ( ABOUT_FALSE_POSITIVES )
185183 . invoke ( 'text' )
186184 . should ( 'eql' , expectedFalsePositives ) ;
187-
188- let expectedMitre = '' ;
189- newRule . mitre . forEach ( mitre => {
190- expectedMitre = expectedMitre + mitre . tactic ;
191- mitre . techniques . forEach ( technique => {
192- expectedMitre = expectedMitre + technique ;
193- } ) ;
194- } ) ;
195- cy . get ( ABOUT_DESCRIPTION )
185+ cy . get ( ABOUT_STEP )
196186 . eq ( ABOUT_MITRE )
197187 . invoke ( 'text' )
198188 . should ( 'eql' , expectedMitre ) ;
199-
200- let expectedTags = '' ;
201- newRule . tags . forEach ( tag => {
202- expectedTags = expectedTags + tag ;
203- } ) ;
204- cy . get ( ABOUT_DESCRIPTION )
189+ cy . get ( ABOUT_STEP )
205190 . eq ( ABOUT_TAGS )
206191 . invoke ( 'text' )
207192 . should ( 'eql' , expectedTags ) ;
208- cy . get ( SCHEDULE_DESCRIPTION )
193+
194+ cy . get ( DEFINITION_INDEX_PATTERNS ) . then ( patterns => {
195+ cy . wrap ( patterns ) . each ( ( pattern , index ) => {
196+ cy . wrap ( pattern )
197+ . invoke ( 'text' )
198+ . should ( 'eql' , expectedIndexPatterns [ index ] ) ;
199+ } ) ;
200+ } ) ;
201+ cy . get ( DEFINITION_STEP )
202+ . eq ( DEFINITION_CUSTOM_QUERY )
203+ . invoke ( 'text' )
204+ . should ( 'eql' , `${ newRule . customQuery } ` ) ;
205+
206+ cy . get ( SCHEDULE_STEP )
209207 . eq ( SCHEDULE_RUNS )
210208 . invoke ( 'text' )
211209 . should ( 'eql' , '5m' ) ;
212- cy . get ( SCHEDULE_DESCRIPTION )
210+ cy . get ( SCHEDULE_STEP )
213211 . eq ( SCHEDULE_LOOPBACK )
214212 . invoke ( 'text' )
215213 . should ( 'eql' , '1m' ) ;
0 commit comments