@@ -15,6 +15,7 @@ export default ({ getPageObjects, getService }: FtrProviderContext) => {
1515 const supertest = getService ( 'supertest' ) ;
1616 const find = getService ( 'find' ) ;
1717 const retry = getService ( 'retry' ) ;
18+ const comboBox = getService ( 'comboBox' ) ;
1819
1920 async function getAlertsByName ( name : string ) {
2021 const {
@@ -30,15 +31,14 @@ export default ({ getPageObjects, getService }: FtrProviderContext) => {
3031 } ) ;
3132 }
3233
33- async function defineAlert ( alertName : string , alertType ?: string ) {
34- alertType = alertType || '.index-threshold' ;
34+ async function defineEsQueryAlert ( alertName : string ) {
3535 await pageObjects . triggersActionsUI . clickCreateAlertButton ( ) ;
3636 await testSubjects . setValue ( 'alertNameInput' , alertName ) ;
37- await testSubjects . click ( `${ alertType } -SelectOption` ) ;
37+ await testSubjects . click ( `.es-query -SelectOption` ) ;
3838 await testSubjects . click ( 'selectIndexExpression' ) ;
39- const comboBox = await find . byCssSelector ( '#indexSelectSearchBox' ) ;
40- await comboBox . click ( ) ;
41- await comboBox . type ( 'k' ) ;
39+ const indexComboBox = await find . byCssSelector ( '#indexSelectSearchBox' ) ;
40+ await indexComboBox . click ( ) ;
41+ await indexComboBox . type ( 'k' ) ;
4242 const filterSelectItem = await find . byCssSelector ( `.euiFilterSelectItem` ) ;
4343 await filterSelectItem . click ( ) ;
4444 await testSubjects . click ( 'thresholdAlertTimeFieldSelect' ) ;
@@ -53,6 +53,44 @@ export default ({ getPageObjects, getService }: FtrProviderContext) => {
5353 await nameInput . click ( ) ;
5454 }
5555
56+ async function defineIndexThresholdAlert ( alertName : string ) {
57+ await pageObjects . triggersActionsUI . clickCreateAlertButton ( ) ;
58+ await testSubjects . setValue ( 'alertNameInput' , alertName ) ;
59+ await testSubjects . click ( `.index-threshold-SelectOption` ) ;
60+ await testSubjects . click ( 'selectIndexExpression' ) ;
61+ const indexComboBox = await find . byCssSelector ( '#indexSelectSearchBox' ) ;
62+ await indexComboBox . click ( ) ;
63+ await indexComboBox . type ( 'k' ) ;
64+ const filterSelectItem = await find . byCssSelector ( `.euiFilterSelectItem` ) ;
65+ await filterSelectItem . click ( ) ;
66+ await testSubjects . click ( 'thresholdAlertTimeFieldSelect' ) ;
67+ await retry . try ( async ( ) => {
68+ const fieldOptions = await find . allByCssSelector ( '#thresholdTimeField option' ) ;
69+ expect ( fieldOptions [ 1 ] ) . not . to . be ( undefined ) ;
70+ await fieldOptions [ 1 ] . click ( ) ;
71+ } ) ;
72+ await testSubjects . click ( 'closePopover' ) ;
73+ // need this two out of popup clicks to close them
74+ const nameInput = await testSubjects . find ( 'alertNameInput' ) ;
75+ await nameInput . click ( ) ;
76+
77+ await testSubjects . click ( 'whenExpression' ) ;
78+ await testSubjects . click ( 'whenExpressionSelect' ) ;
79+ await retry . try ( async ( ) => {
80+ const aggTypeOptions = await find . allByCssSelector ( '#aggTypeField option' ) ;
81+ expect ( aggTypeOptions [ 1 ] ) . not . to . be ( undefined ) ;
82+ await aggTypeOptions [ 1 ] . click ( ) ;
83+ } ) ;
84+
85+ await testSubjects . click ( 'ofExpressionPopover' ) ;
86+ const ofComboBox = await find . byCssSelector ( '#ofField' ) ;
87+ await ofComboBox . click ( ) ;
88+ const ofOptionsString = await comboBox . getOptionsList ( 'availablefieldsOptionsComboBox' ) ;
89+ const ofOptions = ofOptionsString . trim ( ) . split ( '\n' ) ;
90+ expect ( ofOptions . length > 0 ) . to . be ( true ) ;
91+ await comboBox . set ( 'availablefieldsOptionsComboBox' , ofOptions [ 0 ] ) ;
92+ }
93+
5694 async function defineAlwaysFiringAlert ( alertName : string ) {
5795 await pageObjects . triggersActionsUI . clickCreateAlertButton ( ) ;
5896 await testSubjects . setValue ( 'alertNameInput' , alertName ) ;
@@ -67,7 +105,7 @@ export default ({ getPageObjects, getService }: FtrProviderContext) => {
67105
68106 it ( 'should create an alert' , async ( ) => {
69107 const alertName = generateUniqueKey ( ) ;
70- await defineAlert ( alertName ) ;
108+ await defineIndexThresholdAlert ( alertName ) ;
71109
72110 await testSubjects . click ( 'notifyWhenSelect' ) ;
73111 await testSubjects . click ( 'onThrottleInterval' ) ;
@@ -222,7 +260,7 @@ export default ({ getPageObjects, getService }: FtrProviderContext) => {
222260
223261 it ( 'should successfully test valid es_query alert' , async ( ) => {
224262 const alertName = generateUniqueKey ( ) ;
225- await defineAlert ( alertName , '.es-query' ) ;
263+ await defineEsQueryAlert ( alertName ) ;
226264
227265 // Valid query
228266 await testSubjects . setValue ( 'queryJsonEditor' , '{"query":{"match_all":{}}}' , {
0 commit comments