@@ -2869,3 +2869,131 @@ describe(
2869
2869
} ) ;
2870
2870
2871
2871
} ) ;
2872
+
2873
+ describe ( 'bulkAssociation' , function ( ) {
2874
+ // set up the environment
2875
+ before ( async function ( ) {
2876
+ //measurements for sql and zendro-server tests
2877
+ let res = itHelpers . request_graph_ql_post ( 'mutation{addMeasurement(measurement_id:"m1" ){measurement_id}}' ) ;
2878
+ expect ( res . statusCode ) . to . equal ( 200 ) ;
2879
+ res = itHelpers . request_graph_ql_post ( 'mutation{addMeasurement(measurement_id:"m2" ){measurement_id}}' ) ;
2880
+ expect ( res . statusCode ) . to . equal ( 200 ) ;
2881
+ res = itHelpers . request_graph_ql_post ( 'mutation{addMeasurement(measurement_id:"m3" ){measurement_id}}' ) ;
2882
+ expect ( res . statusCode ) . to . equal ( 200 ) ;
2883
+ res = itHelpers . request_graph_ql_post ( 'mutation{addMeasurement(measurement_id:"m4" ){measurement_id}}' ) ;
2884
+ expect ( res . statusCode ) . to . equal ( 200 ) ;
2885
+ res = itHelpers . request_graph_ql_post ( 'mutation{addAccession(accession_id:"a1" ){accession_id}}' ) ;
2886
+ expect ( res . statusCode ) . to . equal ( 200 ) ;
2887
+ res = itHelpers . request_graph_ql_post ( 'mutation{addAccession(accession_id:"a2" ){accession_id}}' ) ;
2888
+ expect ( res . statusCode ) . to . equal ( 200 ) ;
2889
+ //dogs for distributed tests
2890
+ res = itHelpers . request_graph_ql_post ( 'mutation {addDog(dog_id: "instance1-d01") {dog_id}}' ) ;
2891
+ expect ( res . statusCode ) . to . equal ( 200 ) ;
2892
+ res = itHelpers . request_graph_ql_post ( 'mutation {addDog(dog_id: "instance1-d02") {dog_id}}' ) ;
2893
+ expect ( res . statusCode ) . to . equal ( 200 ) ;
2894
+ res = itHelpers . request_graph_ql_post ( 'mutation {addDog(dog_id: "instance2-d01") {dog_id}}' ) ;
2895
+ expect ( res . statusCode ) . to . equal ( 200 ) ;
2896
+ res = itHelpers . request_graph_ql_post ( 'mutation {addDog(dog_id: "instance2-d02") {dog_id}}' ) ;
2897
+ expect ( res . statusCode ) . to . equal ( 200 ) ;
2898
+ res = itHelpers . request_graph_ql_post ( 'mutation {addPerson(person_id: "instance1-p01") {person_id}}' ) ;
2899
+ expect ( res . statusCode ) . to . equal ( 200 ) ;
2900
+ res = itHelpers . request_graph_ql_post ( 'mutation {addPerson(person_id: "instance2-p01") {person_id}}' ) ;
2901
+ expect ( res . statusCode ) . to . equal ( 200 ) ;
2902
+ } ) ;
2903
+
2904
+ //clean up records
2905
+ after ( async function ( ) {
2906
+ itHelpers . request_graph_ql_post ( 'mutation{deleteMeasurement(measurement_id:"m1")}' ) ;
2907
+ itHelpers . request_graph_ql_post ( 'mutation{deleteMeasurement(measurement_id:"m2")}' ) ;
2908
+ itHelpers . request_graph_ql_post ( 'mutation{deleteMeasurement(measurement_id:"m3")}' ) ;
2909
+ itHelpers . request_graph_ql_post ( 'mutation{deleteMeasurement(measurement_id:"m4")}' ) ;
2910
+ itHelpers . request_graph_ql_post ( 'mutation{deleteAccession(accession_id:"a1")}' ) ;
2911
+ itHelpers . request_graph_ql_post ( 'mutation{deleteAccession(accession_id:"a2")}' ) ;
2912
+ itHelpers . request_graph_ql_post ( 'mutation {deleteDog(dog_id: "instance1-d01")}' ) ;
2913
+ itHelpers . request_graph_ql_post ( 'mutation {deleteDog(dog_id: "instance1-d02")}' ) ;
2914
+ itHelpers . request_graph_ql_post ( 'mutation {deleteDog(dog_id: "instance2-d01")}' ) ;
2915
+ itHelpers . request_graph_ql_post ( 'mutation {deleteDog(dog_id: "instance2-d02")}' ) ;
2916
+ itHelpers . request_graph_ql_post ( 'mutation {deletePerson(person_id: "instance1-p01")}' ) ;
2917
+ itHelpers . request_graph_ql_post ( 'mutation {deletePerson(person_id: "instance2-p01")}' ) ;
2918
+ } ) ;
2919
+
2920
+ it ( '01. bulkAssociation - sql' , function ( ) {
2921
+ let res = itHelpers . request_graph_ql_post ( 'mutation{bulkAssociateMeasurementWithAccessionId(bulkAssociationInput: [{measurement_id:"m1", accessionId: "a1"},{measurement_id:"m2", accessionId: "a1"},{measurement_id:"m3", accessionId: "a2"},{measurement_id:"m4", accessionId: "a2"}] )}' ) ;
2922
+ expect ( res . statusCode ) . to . equal ( 200 ) ;
2923
+ let resBody = JSON . parse ( res . body . toString ( 'utf8' ) ) ;
2924
+ expect ( resBody . data . bulkAssociateMeasurementWithAccessionId ) . equal ( "Records successfully updated!" ) ;
2925
+ //check if records have been correctly updated
2926
+ res = itHelpers . request_graph_ql_post ( '{accessions{accession_id measurementsFilter{measurement_id}}}' )
2927
+ resBody = JSON . parse ( res . body . toString ( 'utf8' ) ) ;
2928
+ expect ( resBody ) . to . deep . equal ( {
2929
+ "data" :{ "accessions" :[ { "accession_id" :"a1" , "measurementsFilter" :[ { "measurement_id" :"m1" } , { "measurement_id" :"m2" } ] } , { "accession_id" :"a2" , "measurementsFilter" :[ { "measurement_id" :"m3" } , { "measurement_id" :"m4" } ] } ] }
2930
+ } ) ;
2931
+ } ) ;
2932
+
2933
+ it ( '02. bulkDisAssociation - sql' , function ( ) {
2934
+ let res = itHelpers . request_graph_ql_post ( 'mutation{bulkDisAssociateMeasurementWithAccessionId(bulkAssociationInput: [{measurement_id:"m1", accessionId: "a1"},{measurement_id:"m2", accessionId: "a1"},{measurement_id:"m3", accessionId: "a2"},{measurement_id:"m4", accessionId: "a2"}] )}' ) ;
2935
+ expect ( res . statusCode ) . to . equal ( 200 ) ;
2936
+ let resBody = JSON . parse ( res . body . toString ( 'utf8' ) ) ;
2937
+ expect ( resBody . data . bulkDisAssociateMeasurementWithAccessionId ) . equal ( "Records successfully updated!" ) ;
2938
+ //check if records have been correctly updated
2939
+ res = itHelpers . request_graph_ql_post ( '{accessions{accession_id measurementsFilter{measurement_id}}}' )
2940
+ resBody = JSON . parse ( res . body . toString ( 'utf8' ) ) ;
2941
+ expect ( resBody ) . to . deep . equal ( {
2942
+ "data" :{ "accessions" :[ { "accession_id" :"a1" , "measurementsFilter" :[ ] } , { "accession_id" :"a2" , "measurementsFilter" :[ ] } ] }
2943
+ } ) ;
2944
+ } ) ;
2945
+
2946
+ it ( '03. bulkAssociation - zendro-server' , function ( ) {
2947
+ let res = itHelpers . request_graph_ql_post_instance2 ( 'mutation{bulkAssociateMeasurementWithAccessionId(bulkAssociationInput: [{measurement_id:"m1", accessionId: "a1"},{measurement_id:"m2", accessionId: "a1"},{measurement_id:"m3", accessionId: "a2"},{measurement_id:"m4", accessionId: "a2"}] )}' ) ;
2948
+ expect ( res . statusCode ) . to . equal ( 200 ) ;
2949
+ let resBody = JSON . parse ( res . body . toString ( 'utf8' ) ) ;
2950
+ expect ( resBody . data . bulkAssociateMeasurementWithAccessionId ) . equal ( "Records successfully updated!" ) ;
2951
+ //check if records have been correctly updated
2952
+ res = itHelpers . request_graph_ql_post ( '{accessions{accession_id measurementsFilter{measurement_id}}}' )
2953
+ resBody = JSON . parse ( res . body . toString ( 'utf8' ) ) ;
2954
+ expect ( resBody ) . to . deep . equal ( {
2955
+ "data" :{ "accessions" :[ { "accession_id" :"a1" , "measurementsFilter" :[ { "measurement_id" :"m1" } , { "measurement_id" :"m2" } ] } , { "accession_id" :"a2" , "measurementsFilter" :[ { "measurement_id" :"m3" } , { "measurement_id" :"m4" } ] } ] }
2956
+ } ) ;
2957
+ } ) ;
2958
+
2959
+ it ( '04. bulkDisAssociation - zendro-server' , function ( ) {
2960
+ let res = itHelpers . request_graph_ql_post_instance2 ( 'mutation{bulkDisAssociateMeasurementWithAccessionId(bulkAssociationInput: [{measurement_id:"m1", accessionId: "a1"},{measurement_id:"m2", accessionId: "a1"},{measurement_id:"m3", accessionId: "a2"},{measurement_id:"m4", accessionId: "a2"}] )}' ) ;
2961
+ expect ( res . statusCode ) . to . equal ( 200 ) ;
2962
+ let resBody = JSON . parse ( res . body . toString ( 'utf8' ) ) ;
2963
+ expect ( resBody . data . bulkDisAssociateMeasurementWithAccessionId ) . equal ( "Records successfully updated!" ) ;
2964
+ //check if records have been correctly updated
2965
+ res = itHelpers . request_graph_ql_post ( '{accessions{accession_id measurementsFilter{measurement_id}}}' )
2966
+ resBody = JSON . parse ( res . body . toString ( 'utf8' ) ) ;
2967
+ expect ( resBody ) . to . deep . equal ( {
2968
+ "data" :{ "accessions" :[ { "accession_id" :"a1" , "measurementsFilter" :[ ] } , { "accession_id" :"a2" , "measurementsFilter" :[ ] } ] }
2969
+ } ) ;
2970
+ } ) ;
2971
+
2972
+ it ( '05. bulkAssociation - ddm' , function ( ) {
2973
+ let res = itHelpers . request_graph_ql_post ( 'mutation{bulkAssociateDogWithPerson_id(bulkAssociationInput: [{dog_id:"instance1-d01", person_id: "instance1-p01"},{dog_id:"instance2-d01", person_id: "instance1-p01"},{dog_id:"instance1-d02", person_id: "instance2-p01"},{dog_id:"instance2-d02", person_id: "instance2-p01"}] )}' ) ;
2974
+ expect ( res . statusCode ) . to . equal ( 200 ) ;
2975
+ let resBody = JSON . parse ( res . body . toString ( 'utf8' ) ) ;
2976
+ expect ( resBody . data . bulkAssociateDogWithPerson_id ) . equal ( "Records successfully updated!" ) ;
2977
+ //check if records have been correctly updated
2978
+ res = itHelpers . request_graph_ql_post ( '{peopleConnection{edges{node{person_id dogsConnection{edges{node{dog_id}}}}}}}' ) ;
2979
+ resBody = JSON . parse ( res . body . toString ( 'utf8' ) ) ;
2980
+ expect ( resBody ) . to . deep . equal ( {
2981
+ "data" :{ "peopleConnection" :{ "edges" :[ { "node" :{ "person_id" :"instance1-p01" , "dogsConnection" :{ "edges" :[ { "node" :{ "dog_id" :"instance1-d01" } } , { "node" :{ "dog_id" :"instance2-d01" } } ] } } } , { "node" :{ "person_id" :"instance2-p01" , "dogsConnection" :{ "edges" :[ { "node" :{ "dog_id" :"instance1-d02" } } , { "node" :{ "dog_id" :"instance2-d02" } } ] } } } ] } }
2982
+ } ) ;
2983
+ } ) ;
2984
+
2985
+ it ( '06. bulkDisAssociation - ddm' , function ( ) {
2986
+ let res = itHelpers . request_graph_ql_post ( 'mutation{bulkDisAssociateDogWithPerson_id(bulkAssociationInput: [{dog_id:"instance1-d01", person_id: "instance1-p01"},{dog_id:"instance2-d01", person_id: "instance1-p01"},{dog_id:"instance1-d02", person_id: "instance2-p01"},{dog_id:"instance2-d02", person_id: "instance2-p01"}] )}' ) ;
2987
+ expect ( res . statusCode ) . to . equal ( 200 ) ;
2988
+ let resBody = JSON . parse ( res . body . toString ( 'utf8' ) ) ;
2989
+ expect ( resBody . data . bulkDisAssociateDogWithPerson_id ) . equal ( "Records successfully updated!" ) ;
2990
+ //check if records have been correctly updated
2991
+ res = itHelpers . request_graph_ql_post ( '{peopleConnection{edges{node{person_id dogsConnection{edges{node{dog_id}}}}}}}' ) ;
2992
+ resBody = JSON . parse ( res . body . toString ( 'utf8' ) ) ;
2993
+ expect ( resBody ) . to . deep . equal ( {
2994
+ "data" :{ "peopleConnection" :{ "edges" :[ { "node" :{ "person_id" :"instance1-p01" , "dogsConnection" :{ "edges" :[ ] } } } , { "node" :{ "person_id" :"instance2-p01" , "dogsConnection" :{ "edges" :[ ] } } } ] } }
2995
+ } ) ;
2996
+ } ) ;
2997
+
2998
+
2999
+ } ) ;
0 commit comments