Skip to content

Commit 98c46ee

Browse files
author
Igor Khomenko
committed
updated tests for Content
1 parent 78b31a7 commit 98c46ee

File tree

1 file changed

+39
-35
lines changed

1 file changed

+39
-35
lines changed

spec/QB-ContentSpec.js

Lines changed: 39 additions & 35 deletions
Original file line numberDiff line numberDiff line change
@@ -4,6 +4,7 @@ describe('Content API', function() {
44
'use strict';
55

66
var REST_REQUESTS_TIMEOUT = 3000;
7+
var UPLOAD_TIMEOUT = 6000;
78

89
var isNodeEnv = typeof window === 'undefined' && typeof exports === 'object';
910
var QB = isNodeEnv ? require('../js/qbMain') : window.QB;
@@ -32,36 +33,51 @@ describe('Content API', function() {
3233
}, REST_REQUESTS_TIMEOUT);
3334

3435
it('can create and upload files', function(done) {
35-
if(isNodeEnv) {
36-
pending('Working on fix "new File" in Node env.');
37-
}
3836

39-
var d = new Date(2015, 10, 13, 14, 30, 30, 600),
40-
genFile = new File(['Hello QuickBlox'], 'QB.txt', {type: 'text/plain', lastModified: d});
37+
function upload(data){
38+
QB.content.createAndUpload(data, function(err, res) {
39+
if (err) {
40+
done.fail('Create and upload files error: ' + JSON.stringify(err));
41+
}else{
42+
fileId = res.id;
4143

42-
data = {name: genFile.name, file: genFile, type: genFile.type, size: genFile.size, public: false};
44+
expect(res).not.toBeNull();
45+
expect(res.name).toBe(isNodeEnv ? "logo.png" : 'QB.txt');
4346

44-
QB.content.createAndUpload(data, function(err, res) {
45-
if (err) {
46-
done.fail('Create and upload files error: ' + JSON.stringify(err));
47-
}else{
48-
fileId = res.id;
47+
done();
48+
}
49+
});
50+
}
4951

50-
expect(res).not.toBeNull();
51-
expect(res.name).toBe('QB.txt');
52+
if(isNodeEnv){
53+
var fs = require('fs');
5254

53-
done();
54-
}
55-
});
56-
}, REST_REQUESTS_TIMEOUT);
55+
var imgName = "logo.png";
56+
var srcIMG = 'spec/' + imgName;
57+
fs.stat(srcIMG, function (err, stats) {
58+
fs.readFile(srcIMG, function (err, data) {
59+
if (err) throw err;
60+
var data = {name: imgName, file: data, type: "image/png", size: data.length, public: false};
61+
upload(data);
62+
});
63+
});
64+
65+
}else{
66+
var d = new Date(2015, 10, 13, 14, 30, 30, 600);
67+
var genFile = new File(['Hello QuickBlox'], 'QB.txt', {type: 'text/plain', lastModified: d});
68+
var data = {name: genFile.name, file: genFile, type: genFile.type, size: genFile.size, public: false};
69+
upload(data);
70+
}
71+
72+
}, UPLOAD_TIMEOUT);
5773

5874
it('can get file information by ID', function(done) {
5975
QB.content.getInfo(fileId, function(err, res) {
6076
if (err) {
6177
done.fail("Get file information by ID error: " + JSON.stringify(err));
6278
}else{
6379
expect(res).not.toBeNull();
64-
expect(res.blob.id).toEqual(self.fileId);
80+
expect(res.blob.id).toEqual(fileId);
6581

6682
done();
6783
}
@@ -82,28 +98,16 @@ describe('Content API', function() {
8298
}, REST_REQUESTS_TIMEOUT);
8399

84100
it('can delete content objects', function(done) {
85-
if(isNodeEnv) {
86-
pending('Working on fix "new File" in Node env.');
87-
}
88-
89-
QB.content.createAndUpload(data, function(err, response) {
101+
QB.content.delete(fileId, function(err, result) {
90102
if (err) {
91-
done.fail('Create and upload files error: ' + JSON.stringify(err));
103+
done.fail('Delete content objects error: ' + JSON.stringify(err));
92104
}else{
93-
var elemId = response.id;
105+
expect(result).toEqual(true);
94106

95-
QB.content.delete(elemId, function(err, result) {
96-
if (err) {
97-
done.fail('Delete content objects error: ' + JSON.stringify(err));
98-
}else{
99-
expect(result).toEqual(true);
100-
101-
done();
102-
}
103-
});
107+
done();
104108
}
105109
});
106-
}, 7000);
110+
}, REST_REQUESTS_TIMEOUT);
107111

108112
it('can access public URL', function() {
109113
var publicUrl = QB.content.publicUrl(fileUID);

0 commit comments

Comments
 (0)