@@ -24,7 +24,7 @@ const triggerOperatorToLabel = {
2424} ;
2525
2626const setupTriggerEditorFromSource = ( trigger ) => {
27- cy . get ( '#triggerSource' ) . scrollIntoView ( ) . paste ( JSON . stringify ( trigger ) ) ;
27+ cy . pasteJsonIntoEditor ( { json_object : trigger } ) ;
2828 cy . wait ( 1500 ) ;
2929} ;
3030
@@ -81,33 +81,32 @@ const checkTriggerEditorUIValues = (trigger) => {
8181 . contains ( 'Any interface' )
8282 . should ( 'be.selected' ) ;
8383 } else {
84- cy . get ( '#triggerInterfaceName' )
85- . scrollIntoView ( )
86- . should ( 'be.visible' )
87- . contains ( iface )
88- . should ( 'be.selected' ) ;
89- cy . get ( '#triggerInterfaceMajor' )
90- . scrollIntoView ( )
91- . should ( 'be.visible' )
92- . contains ( simpleTrigger . interface_major )
93- . should ( 'be.selected' ) ;
94- cy . get ( '#triggerPath' )
84+ cy . window ( ) . should ( 'have.property' , 'monaco' ) ;
85+ cy . window ( ) . should ( ( win ) => {
86+ const models = win . monaco . editor . getModels ( ) ;
87+ expect ( models ) . to . have . length . gt ( 0 ) ;
88+ } ) ;
89+ cy . window ( ) . then ( ( win ) => {
90+ const editor = win . monaco . editor . getModels ( ) [ 0 ] ;
91+ const editorContent = editor . getValue ( ) ;
92+ const editorJson = JSON . parse ( editorContent ) ;
93+ expect ( editorJson . simple_triggers [ 0 ] . interface_name ) . to . equal ( iface ) ;
94+ expect ( editorJson . simple_triggers [ 0 ] . interface_major ) . to . equal ( simpleTrigger . interface_major ) ;
95+ expect ( editorJson . simple_triggers [ 0 ] . match_path ) . to . equal ( simpleTrigger . match_path ) ;
96+ } ) ;
97+ }
98+ if ( simpleTrigger . value_match_operator ) {
99+ cy . get ( '#triggerOperator' )
100+ . scrollIntoView ( )
101+ . should ( 'be.visible' )
102+ . contains ( triggerOperatorToLabel [ simpleTrigger . value_match_operator ] )
103+ . should ( 'be.selected' ) ;
104+ }
105+ if ( simpleTrigger . known_value != null ) {
106+ cy . get ( '#triggerKnownValue' )
95107 . scrollIntoView ( )
96108 . should ( 'be.visible' )
97- . and ( 'have.value' , simpleTrigger . match_path ) ;
98- if ( simpleTrigger . value_match_operator ) {
99- cy . get ( '#triggerOperator' )
100- . scrollIntoView ( )
101- . should ( 'be.visible' )
102- . contains ( triggerOperatorToLabel [ simpleTrigger . value_match_operator ] )
103- . should ( 'be.selected' ) ;
104- }
105- if ( simpleTrigger . known_value != null ) {
106- cy . get ( '#triggerKnownValue' )
107- . scrollIntoView ( )
108- . should ( 'be.visible' )
109- . and ( 'have.value' , simpleTrigger . known_value ) ;
110- }
109+ . and ( 'have.value' , simpleTrigger . known_value ) ;
111110 }
112111 }
113112
@@ -636,14 +635,16 @@ describe('Trigger builder tests', () => {
636635 } ) ;
637636 cy . get ( 'table tr' ) . contains ( 'X-Custom-Header' ) ;
638637 cy . get ( 'table tr' ) . contains ( 'Header value' ) ;
639- cy . get ( '#triggerSource' )
640- . invoke ( 'val' )
641- . should ( ( triggerSource ) => {
642- const trigger = JSON . parse ( triggerSource ) ;
638+ cy . window ( ) . then ( ( win ) => {
639+ if ( win . monaco && win . monaco . editor ) {
640+ const editor = win . monaco . editor . getModels ( ) [ 0 ] ;
641+ const editorContent = editor . getValue ( ) ;
642+ const trigger = JSON . parse ( editorContent ) ;
643643 expect ( trigger . action . http_static_headers ) . to . deep . eq ( {
644644 'X-Custom-Header' : 'Header value' ,
645645 } ) ;
646- } ) ;
646+ }
647+ } ) ;
647648
648649 // Edit http header
649650 cy . get ( 'table tr' ) . contains ( 'X-Custom-Header' ) . parents ( 'tr' ) . get ( 'i.fa-pencil-alt' ) . click ( ) ;
@@ -655,14 +656,16 @@ describe('Trigger builder tests', () => {
655656 cy . get ( 'button' ) . contains ( 'Update' ) . click ( ) ;
656657 } ) ;
657658 cy . get ( 'table tr' ) . contains ( 'Header new value' ) ;
658- cy . get ( '#triggerSource' )
659- . invoke ( 'val' )
660- . should ( ( triggerSource ) => {
661- const trigger = JSON . parse ( triggerSource ) ;
659+ cy . window ( ) . then ( ( win ) => {
660+ if ( win . monaco && win . monaco . editor ) {
661+ const editor = win . monaco . editor . getModels ( ) [ 0 ] ;
662+ const editorContent = editor . getValue ( ) ;
663+ const trigger = JSON . parse ( editorContent ) ;
662664 expect ( trigger . action . http_static_headers ) . to . deep . eq ( {
663665 'X-Custom-Header' : 'Header new value' ,
664666 } ) ;
665- } ) ;
667+ }
668+ } ) ;
666669
667670 // Delete http header
668671 cy . get ( 'table tr' ) . contains ( 'X-Custom-Header' ) . parents ( 'tr' ) . get ( 'i.fa-eraser' ) . click ( ) ;
@@ -671,13 +674,15 @@ describe('Trigger builder tests', () => {
671674 cy . get ( '.modal-body' ) . contains ( 'Delete custom header "X-Custom-Header"?' ) ;
672675 cy . get ( 'button' ) . contains ( 'Delete' ) . click ( ) ;
673676 } ) ;
674- cy . contains ( 'X-Custom-Header' ) . should ( 'not.exist' ) ;
675- cy . get ( '#triggerSource' )
676- . invoke ( 'val' )
677- . should ( ( triggerSource ) => {
678- const trigger = JSON . parse ( triggerSource ) ;
677+ cy . contains ( 'X-Custom-Header' ) . should ( 'not.exist' ) ;
678+ cy . window ( ) . then ( ( win ) => {
679+ if ( win . monaco && win . monaco . editor ) {
680+ const editor = win . monaco . editor . getModels ( ) [ 0 ] ;
681+ const editorContent = editor . getValue ( ) ;
682+ const trigger = JSON . parse ( editorContent ) ;
679683 expect ( trigger . action . http_static_headers || { } ) . to . deep . eq ( { } ) ;
680- } ) ;
684+ }
685+ } ) ;
681686 } ) ;
682687
683688 it ( 'can add, edit, remove AMQP headers' , ( ) => {
@@ -697,14 +702,16 @@ describe('Trigger builder tests', () => {
697702 } ) ;
698703 cy . get ( 'table tr' ) . contains ( 'X-Custom-Header' ) ;
699704 cy . get ( 'table tr' ) . contains ( 'Header value' ) ;
700- cy . get ( '#triggerSource' )
701- . invoke ( 'val' )
702- . should ( ( triggerSource ) => {
703- const trigger = JSON . parse ( triggerSource ) ;
705+ cy . window ( ) . then ( ( win ) => {
706+ if ( win . monaco && win . monaco . editor ) {
707+ const editor = win . monaco . editor . getModels ( ) [ 0 ] ;
708+ const editorContent = editor . getValue ( ) ;
709+ const trigger = JSON . parse ( editorContent ) ;
704710 expect ( trigger . action . amqp_static_headers ) . to . deep . eq ( {
705711 'X-Custom-Header' : 'Header value' ,
706712 } ) ;
707- } ) ;
713+ }
714+ } ) ;
708715
709716 // Edit amqp header
710717 cy . get ( 'table tr' ) . contains ( 'X-Custom-Header' ) . parents ( 'tr' ) . get ( 'i.fa-pencil-alt' ) . click ( ) ;
@@ -716,14 +723,16 @@ describe('Trigger builder tests', () => {
716723 cy . get ( 'button' ) . contains ( 'Update' ) . click ( ) ;
717724 } ) ;
718725 cy . get ( 'table tr' ) . contains ( 'Header new value' ) ;
719- cy . get ( '#triggerSource' )
720- . invoke ( 'val' )
721- . should ( ( triggerSource ) => {
722- const trigger = JSON . parse ( triggerSource ) ;
726+ cy . window ( ) . then ( ( win ) => {
727+ if ( win . monaco && win . monaco . editor ) {
728+ const editor = win . monaco . editor . getModels ( ) [ 0 ] ;
729+ const editorContent = editor . getValue ( ) ;
730+ const trigger = JSON . parse ( editorContent ) ;
723731 expect ( trigger . action . amqp_static_headers ) . to . deep . eq ( {
724732 'X-Custom-Header' : 'Header new value' ,
725733 } ) ;
726- } ) ;
734+ }
735+ } ) ;
727736
728737 // Delete amqp header
729738 cy . get ( 'table tr' ) . contains ( 'X-Custom-Header' ) . parents ( 'tr' ) . get ( 'i.fa-eraser' ) . click ( ) ;
@@ -733,12 +742,14 @@ describe('Trigger builder tests', () => {
733742 cy . get ( 'button' ) . contains ( 'Delete' ) . click ( ) ;
734743 } ) ;
735744 cy . contains ( 'X-Custom-Header' ) . should ( 'not.exist' ) ;
736- cy . get ( '#triggerSource' )
737- . invoke ( 'val' )
738- . should ( ( triggerSource ) => {
739- const trigger = JSON . parse ( triggerSource ) ;
745+ cy . window ( ) . then ( ( win ) => {
746+ if ( win . monaco && win . monaco . editor ) {
747+ const editor = win . monaco . editor . getModels ( ) [ 0 ] ;
748+ const editorContent = editor . getValue ( ) ;
749+ const trigger = JSON . parse ( editorContent ) ;
740750 expect ( trigger . action . amqp_static_headers || { } ) . to . deep . eq ( { } ) ;
741- } ) ;
751+ }
752+ } ) ;
742753 } ) ;
743754
744755 it ( 'correctly loads trigger from its source' , ( ) => {
@@ -781,7 +792,6 @@ describe('Trigger builder tests', () => {
781792 it ( 'correctly shows trigger data in the Editor UI' , function ( ) {
782793 const encodedTriggerName = encodeURIComponent ( this . test_trigger . data . name ) ;
783794 cy . visit ( `/triggers/${ encodedTriggerName } /edit` ) ;
784- cy . wait ( 1000 ) ;
785795 cy . location ( 'pathname' ) . should ( 'eq' , `/triggers/${ encodedTriggerName } /edit` ) ;
786796 checkTriggerEditorUIValues ( this . test_trigger . data ) ;
787797 } ) ;
0 commit comments