Skip to content

Commit c18ed00

Browse files
committed
test case for promise with custom xhr
1 parent 0a830ac commit c18ed00

File tree

1 file changed

+50
-2
lines changed

1 file changed

+50
-2
lines changed

test/upload.js

Lines changed: 50 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -674,7 +674,8 @@ describe("File upload", function () {
674674

675675
it('check custom XHR object is used', function () {
676676
var xhr = new XMLHttpRequest();
677-
xhr.onprogress = sinon.spy();
677+
var fun = function () { return "hello from function" };
678+
xhr.onprogress = fun;
678679
const fileOptions = {
679680
fileName: "test_file_name",
680681
file: "test_file",
@@ -696,7 +697,7 @@ describe("File upload", function () {
696697
imagekit.upload(fileOptions, callback);
697698
expect(server.requests.length).to.be.equal(2);
698699
expect(server.requests[0]).to.be.equal(xhr);
699-
expect(server.requests[0].onprogress.toString()).to.be.equal("spy");
700+
expect(server.requests[0].onprogress.toString()).to.be.equal(fun.toString());
700701
successSignature();
701702
successUploadResponse();
702703

@@ -790,4 +791,51 @@ describe("File upload", function () {
790791
successSignature();
791792
errorUploadResponse(500, errRes);
792793
});
794+
795+
it('Custom xhr promise', function (done) {
796+
var xhr = new XMLHttpRequest();
797+
var fun = function () { return "hello from function" };
798+
xhr.onprogress = fun;
799+
const fileOptions = {
800+
fileName: "test_file_name",
801+
file: "test_file",
802+
tags: "test_tag1,test_tag2",
803+
customCoordinates: "10, 10, 100, 100",
804+
responseFields: "tags, customCoordinates, isPrivateFile, metadata",
805+
useUniqueFileName: false,
806+
isPrivateFile: true,
807+
extensions: [
808+
{
809+
name: "aws-auto-tagging",
810+
minConfidence: 80,
811+
maxTags: 10
812+
}
813+
],
814+
xhr
815+
};
816+
imagekit.upload(fileOptions).then((response) => {
817+
expect(server.requests.length).to.be.equal(2);
818+
var arg = server.requests[0].requestBody;
819+
expect(server.requests[0]).to.be.equal(xhr);
820+
expect(server.requests[0].onprogress.toString()).to.be.equal(fun.toString());
821+
822+
expect(arg.get('file')).to.be.equal("test_file");
823+
expect(arg.get('fileName')).to.be.equal("test_file_name");
824+
expect(arg.get('token')).to.be.equal("test_token");
825+
expect(arg.get('expire')).to.be.equal("123");
826+
expect(arg.get('signature')).to.be.equal("test_signature");
827+
expect(arg.get('tags')).to.be.equal("test_tag1,test_tag2");
828+
expect(arg.get('customCoordinates')).to.be.equal("10, 10, 100, 100");
829+
expect(arg.get('responseFields')).to.be.equal("tags, customCoordinates, isPrivateFile, metadata");
830+
expect(arg.get('useUniqueFileName')).to.be.equal('false');
831+
expect(arg.get('isPrivateFile')).to.be.equal('true');
832+
expect(arg.get('publicKey')).to.be.equal('test_public_key');
833+
expect(arg.get('extensions')).to.be.equal(JSON.stringify(fileOptions.extensions));
834+
expect(response).to.be.deep.equal(uploadSuccessResponseObj)
835+
done();
836+
});
837+
838+
successSignature();
839+
successUploadResponse();
840+
});
793841
});

0 commit comments

Comments
 (0)