@@ -838,4 +838,80 @@ describe("File upload", function () {
838838 successSignature ( ) ;
839839 successUploadResponse ( ) ;
840840 } ) ;
841+
842+ it ( '$ResponseMetadata assertions using promise' , function ( done ) {
843+ var dummyResonseHeaders = {
844+ "Content-Type" : "application/json" ,
845+ "x-request-id" : "sdfsdfsdfdsf"
846+ } ;
847+ const fileOptions = {
848+ fileName : "test_file_name" ,
849+ file : "test_file" ,
850+ tags : "test_tag1,test_tag2" ,
851+ customCoordinates : "10, 10, 100, 100" ,
852+ responseFields : "tags, customCoordinates, isPrivateFile, metadata" ,
853+ useUniqueFileName : false ,
854+ isPrivateFile : true ,
855+ extensions : [
856+ {
857+ name : "aws-auto-tagging" ,
858+ minConfidence : 80 ,
859+ maxTags : 10
860+ }
861+ ]
862+ } ;
863+ imagekit . upload ( fileOptions ) . then ( ( response ) => {
864+ expect ( server . requests . length ) . to . be . equal ( 2 ) ;
865+ expect ( response . $ResponseMetadata . headers ) . to . be . deep . equal ( dummyResonseHeaders ) ;
866+ expect ( response . $ResponseMetadata . statusCode ) . to . be . deep . equal ( 200 ) ;
867+ done ( ) ;
868+ } ) ;
869+
870+ successSignature ( ) ;
871+
872+ server . respondWith ( "POST" , "https://upload.imagekit.io/api/v1/files/upload" ,
873+ [
874+ 200 ,
875+ dummyResonseHeaders ,
876+ JSON . stringify ( uploadSuccessResponseObj )
877+ ]
878+ ) ;
879+ server . respond ( ) ;
880+ } ) ;
881+
882+ it ( '$ResponseMetadata assertions using callback' , function ( ) {
883+ var dummyResonseHeaders = {
884+ "Content-Type" : "application/json" ,
885+ "x-request-id" : "sdfsdfsdfdsf"
886+ } ;
887+ const fileOptions = {
888+ fileName : "test_file_name" ,
889+ file : "test_file"
890+ } ;
891+ var callback = sinon . spy ( ) ;
892+ imagekit . upload ( fileOptions , callback ) ;
893+
894+ successSignature ( ) ;
895+ server . respondWith ( "POST" , "https://upload.imagekit.io/api/v1/files/upload" ,
896+ [
897+ 200 ,
898+ dummyResonseHeaders ,
899+ JSON . stringify ( uploadSuccessResponseObj )
900+ ]
901+ ) ;
902+
903+ expect ( server . requests . length ) . to . be . equal ( 2 ) ;
904+ successSignature ( ) ;
905+ successUploadResponse ( ) ;
906+
907+ expect ( callback . calledOnce ) . to . be . true ;
908+
909+ var callBackArguments = callback . args [ 0 ] ;
910+ expect ( callBackArguments . length ) . to . be . eq ( 2 ) ;
911+ var callbackResult = callBackArguments [ 1 ] ;
912+
913+ expect ( callbackResult ) . to . be . deep . equal ( uploadSuccessResponseObj ) ;
914+ expect ( callbackResult . $ResponseMetadata . headers ) . to . be . deep . equal ( dummyResonseHeaders ) ;
915+ expect ( callbackResult . $ResponseMetadata . statusCode ) . to . be . deep . equal ( 200 ) ;
916+ } ) ;
841917} ) ;
0 commit comments