@@ -612,6 +612,109 @@ describe("File upload", function () {
612612 expect ( callback . calledOnce ) . to . be . true ;
613613 sinon . assert . calledWith ( callback , null , uploadSuccessResponseObj ) ;
614614 } ) ;
615- } ) ;
616615
616+ it ( 'With customMetadata' , function ( ) {
617+ const fileOptions = {
618+ fileName : "test_file_name" ,
619+ file : "test_file" ,
620+ tags : "test_tag1,test_tag2" ,
621+ customCoordinates : "10, 10, 100, 100" ,
622+ responseFields : "tags, customCoordinates, isPrivateFile, metadata" ,
623+ useUniqueFileName : false ,
624+ isPrivateFile : true ,
625+ extensions : [
626+ {
627+ name : "aws-auto-tagging" ,
628+ minConfidence : 80 ,
629+ maxTags : 10
630+ }
631+ ] ,
632+ overwriteFile : false ,
633+ overwriteAITags : false ,
634+ overwriteTags : false ,
635+ overwriteCustomMetadata : false ,
636+ customMetadata : {
637+ brand : "Nike" ,
638+ color : "red"
639+ } ,
640+ } ;
641+ var jsonStringifiedExtensions = JSON . stringify ( fileOptions . extensions ) ;
642+ var customMetadata = JSON . stringify ( fileOptions . customMetadata ) ;
643+ var callback = sinon . spy ( ) ;
644+
645+ imagekit . upload ( fileOptions , callback ) ;
646+
647+ expect ( server . requests . length ) . to . be . equal ( 2 ) ;
648+ successSignature ( ) ;
649+ successUploadResponse ( ) ;
650+
651+ var arg = server . requests [ 0 ] . requestBody ;
652+
653+ expect ( arg . get ( 'file' ) ) . to . be . equal ( "test_file" ) ;
654+ expect ( arg . get ( 'fileName' ) ) . to . be . equal ( "test_file_name" ) ;
655+ expect ( arg . get ( 'token' ) ) . to . be . equal ( "test_token" ) ;
656+ expect ( arg . get ( 'expire' ) ) . to . be . equal ( "123" ) ;
657+ expect ( arg . get ( 'signature' ) ) . to . be . equal ( "test_signature" ) ;
658+ expect ( arg . get ( 'tags' ) ) . to . be . equal ( "test_tag1,test_tag2" ) ;
659+ expect ( arg . get ( 'customCoordinates' ) ) . to . be . equal ( "10, 10, 100, 100" ) ;
660+ expect ( arg . get ( 'responseFields' ) ) . to . be . equal ( "tags, customCoordinates, isPrivateFile, metadata" ) ;
661+ expect ( arg . get ( 'useUniqueFileName' ) ) . to . be . equal ( 'false' ) ;
662+ expect ( arg . get ( 'isPrivateFile' ) ) . to . be . equal ( 'true' ) ;
663+ expect ( arg . get ( 'publicKey' ) ) . to . be . equal ( 'test_public_key' ) ;
664+ expect ( arg . get ( 'extensions' ) ) . to . be . equal ( jsonStringifiedExtensions ) ;
665+ expect ( arg . get ( 'overwriteFile' ) ) . to . be . equal ( 'false' ) ;
666+ expect ( arg . get ( 'overwriteAITags' ) ) . to . be . equal ( 'false' ) ;
667+ expect ( arg . get ( 'overwriteTags' ) ) . to . be . equal ( 'false' ) ;
668+ expect ( arg . get ( 'overwriteCustomMetadata' ) ) . to . be . equal ( 'false' ) ;
669+ expect ( arg . get ( 'customMetadata' ) ) . to . be . equal ( customMetadata ) ;
670+
671+ expect ( callback . calledOnce ) . to . be . true ;
672+ sinon . assert . calledWith ( callback , null , uploadSuccessResponseObj ) ;
673+ } ) ;
674+
675+ it ( 'check XHR object' , function ( ) {
676+ const fileOptions = {
677+ fileName : "test_file_name" ,
678+ file : "test_file" ,
679+ tags : "test_tag1,test_tag2" ,
680+ customCoordinates : "10, 10, 100, 100" ,
681+ responseFields : "tags, customCoordinates, isPrivateFile, metadata" ,
682+ useUniqueFileName : false ,
683+ isPrivateFile : true ,
684+ extensions : [
685+ {
686+ name : "aws-auto-tagging" ,
687+ minConfidence : 80 ,
688+ maxTags : 10
689+ }
690+ ] ,
691+ } ;
692+ var jsonStringifiedExtensions = JSON . stringify ( fileOptions . extensions ) ;
693+ var callback = sinon . spy ( ) ;
694+
695+ var xhr = imagekit . upload ( fileOptions , callback ) ;
617696
697+ expect ( server . requests . length ) . to . be . equal ( 2 ) ;
698+ successSignature ( ) ;
699+ successUploadResponse ( ) ;
700+
701+ var arg = server . requests [ 0 ] . requestBody ;
702+
703+ expect ( arg . get ( 'file' ) ) . to . be . equal ( "test_file" ) ;
704+ expect ( arg . get ( 'fileName' ) ) . to . be . equal ( "test_file_name" ) ;
705+ expect ( arg . get ( 'token' ) ) . to . be . equal ( "test_token" ) ;
706+ expect ( arg . get ( 'expire' ) ) . to . be . equal ( "123" ) ;
707+ expect ( arg . get ( 'signature' ) ) . to . be . equal ( "test_signature" ) ;
708+ expect ( arg . get ( 'tags' ) ) . to . be . equal ( "test_tag1,test_tag2" ) ;
709+ expect ( arg . get ( 'customCoordinates' ) ) . to . be . equal ( "10, 10, 100, 100" ) ;
710+ expect ( arg . get ( 'responseFields' ) ) . to . be . equal ( "tags, customCoordinates, isPrivateFile, metadata" ) ;
711+ expect ( arg . get ( 'useUniqueFileName' ) ) . to . be . equal ( 'false' ) ;
712+ expect ( arg . get ( 'isPrivateFile' ) ) . to . be . equal ( 'true' ) ;
713+ expect ( arg . get ( 'publicKey' ) ) . to . be . equal ( 'test_public_key' ) ;
714+ expect ( arg . get ( 'extensions' ) ) . to . be . equal ( jsonStringifiedExtensions ) ;
715+ expect ( server . requests [ 0 ] ) . to . be . equal ( xhr ) ;
716+
717+ expect ( callback . calledOnce ) . to . be . true ;
718+ sinon . assert . calledWith ( callback , null , uploadSuccessResponseObj ) ;
719+ } ) ;
720+ } ) ;
0 commit comments