@@ -847,6 +847,86 @@ describe('bedrock-profile-http', () => {
847
847
result . data . type . should . equal ( 'NotAllowedError' ) ;
848
848
} ) ;
849
849
} ) ;
850
+ describe ( 'interactions' , ( ) => {
851
+ // FIXME: create workflow instance
852
+ // before()
853
+ it ( 'fails to create a new interaction with bad post data' , async ( ) => {
854
+ let result ;
855
+ let error ;
856
+ try {
857
+ result = await api . post ( '/interactions' , { } ) ;
858
+ } catch ( e ) {
859
+ error = e ;
860
+ }
861
+ assertNoError ( error ) ;
862
+ should . exist ( result ) ;
863
+ result . status . should . equal ( 400 ) ;
864
+ result . ok . should . equal ( false ) ;
865
+ result . data . message . should . equal (
866
+ `A validation error occured in the 'Create Interaction' validator.` ) ;
867
+ } ) ;
868
+ it ( 'fails to create a new interaction with unknown workflow' , async ( ) => {
869
+ let result ;
870
+ let error ;
871
+ try {
872
+ result = await api . post ( '/interactions' , {
873
+ workflowName : 'does-not-exist' ,
874
+ exchange : {
875
+ variables : { }
876
+ }
877
+ } ) ;
878
+ } catch ( e ) {
879
+ error = e ;
880
+ }
881
+ assertNoError ( error ) ;
882
+ should . exist ( result ) ;
883
+ result . status . should . equal ( 404 ) ;
884
+ result . ok . should . equal ( false ) ;
885
+ result . data . name . should . equal ( 'NotFoundError' ) ;
886
+ result . data . message . should . equal ( 'Workflow "does-not-exist" not found.' ) ;
887
+ } ) ;
888
+ it . skip ( 'creates a new interaction' , async ( ) => {
889
+ let interactionId ;
890
+ {
891
+ let result ;
892
+ let error ;
893
+ try {
894
+ result = await api . post ( '/interactions' , {
895
+ workflowName : 'test' ,
896
+ exchange : {
897
+ variables : { }
898
+ }
899
+ } ) ;
900
+ } catch ( e ) {
901
+ error = e ;
902
+ }
903
+ assertNoError ( error ) ;
904
+ should . exist ( result ) ;
905
+ result . status . should . equal ( 200 ) ;
906
+ result . ok . should . equal ( true ) ;
907
+ should . exist ( result . data . interactionId ) ;
908
+ should . exist ( result . data . exchangeId ) ;
909
+ interactionId = result . data . interactionId ;
910
+ }
911
+
912
+ // get status of interaction
913
+ {
914
+ let result ;
915
+ let error ;
916
+ try {
917
+ result = await api . get ( interactionId ) ;
918
+ } catch ( e ) {
919
+ error = e ;
920
+ }
921
+ assertNoError ( error ) ;
922
+ should . exist ( result ) ;
923
+ result . status . should . equal ( 200 ) ;
924
+ result . ok . should . equal ( true ) ;
925
+ console . log ( 'result.data' , result . data ) ;
926
+ // FIXME: assert on result.data
927
+ }
928
+ } ) ;
929
+ } ) ;
850
930
} ) ; // end bedrock-profile-http
851
931
852
932
async function _createNProfiles ( { n, api, account, didMethod} ) {
0 commit comments