@@ -4,6 +4,7 @@ describe('Content API', function() {
4
4
'use strict' ;
5
5
6
6
var REST_REQUESTS_TIMEOUT = 3000 ;
7
+ var UPLOAD_TIMEOUT = 6000 ;
7
8
8
9
var isNodeEnv = typeof window === 'undefined' && typeof exports === 'object' ;
9
10
var QB = isNodeEnv ? require ( '../js/qbMain' ) : window . QB ;
@@ -32,36 +33,51 @@ describe('Content API', function() {
32
33
} , REST_REQUESTS_TIMEOUT ) ;
33
34
34
35
it ( 'can create and upload files' , function ( done ) {
35
- if ( isNodeEnv ) {
36
- pending ( 'Working on fix "new File" in Node env.' ) ;
37
- }
38
36
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 ;
41
43
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' ) ;
43
46
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
+ }
49
51
50
- expect ( res ) . not . toBeNull ( ) ;
51
- expect ( res . name ) . toBe ( 'QB.txt ') ;
52
+ if ( isNodeEnv ) {
53
+ var fs = require ( 'fs ') ;
52
54
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 ) ;
57
73
58
74
it ( 'can get file information by ID' , function ( done ) {
59
75
QB . content . getInfo ( fileId , function ( err , res ) {
60
76
if ( err ) {
61
77
done . fail ( "Get file information by ID error: " + JSON . stringify ( err ) ) ;
62
78
} else {
63
79
expect ( res ) . not . toBeNull ( ) ;
64
- expect ( res . blob . id ) . toEqual ( self . fileId ) ;
80
+ expect ( res . blob . id ) . toEqual ( fileId ) ;
65
81
66
82
done ( ) ;
67
83
}
@@ -82,28 +98,16 @@ describe('Content API', function() {
82
98
} , REST_REQUESTS_TIMEOUT ) ;
83
99
84
100
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 ) {
90
102
if ( err ) {
91
- done . fail ( 'Create and upload files error: ' + JSON . stringify ( err ) ) ;
103
+ done . fail ( 'Delete content objects error: ' + JSON . stringify ( err ) ) ;
92
104
} else {
93
- var elemId = response . id ;
105
+ expect ( result ) . toEqual ( true ) ;
94
106
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 ( ) ;
104
108
}
105
109
} ) ;
106
- } , 7000 ) ;
110
+ } , REST_REQUESTS_TIMEOUT ) ;
107
111
108
112
it ( 'can access public URL' , function ( ) {
109
113
var publicUrl = QB . content . publicUrl ( fileUID ) ;
0 commit comments