Skip to content

Commit 5d2e46d

Browse files
committed
added test cases for xhr and customMetadata
1 parent 77857be commit 5d2e46d

File tree

1 file changed

+104
-1
lines changed

1 file changed

+104
-1
lines changed

test/upload.js

Lines changed: 104 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -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

Comments
 (0)