forked from leancloud/javascript-sdk
-
Notifications
You must be signed in to change notification settings - Fork 0
Expand file tree
/
Copy pathcloud.js
More file actions
121 lines (103 loc) · 4.63 KB
/
Copy pathcloud.js
File metadata and controls
121 lines (103 loc) · 4.63 KB
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
'use strict';
describe("AV.Cloud", function() {
var originalServerURL, originalAppId, originalAppKey, originalUseMasterKey;
before(function() {
originalServerURL = AV._config.APIServerURL;
originalAppId = AV.applicationId;
originalAppKey = AV.applicationKey;
originalUseMasterKey = AV._useMasterKey;
AV._config.APIServerURL = 'https://leancloud.cn'
AV.applicationId = '4h2h4okwiyn8b6cle0oig00vitayum8ephrlsvg7xo8o19ne';
AV.applicationKey = '3xjj1qw91cr3ygjq9lt0g8c3qpet38rrxtwmmp0yffyoy2t4';
AV._useMasterKey = false;
AV.User._currentUser = null;
});
describe("#getServerDate", function(){
it("should return a date.", function() {
return AV.Cloud.getServerDate().then(function(date) {
expect(date).to.be.a('object');
expect(date instanceof Date).to.be(true);
});
});
});
describe('#rpc', function() {
it('receive complex object', function() {
return AV.Cloud.rpc('complexObject').then(function(result) {
expect(result.foo).to.be('bar');
expect(result.t).to.be.a(Date);
expect(result.t.toISOString()).to.be('2015-05-14T09:21:18.273Z');
expect(result.avObject).to.be.a(AV.Object);
expect(result.avObject.className).to.be('ComplexObject');
expect(result.avObject.get('numberColumn')).to.be(1.23);
expect(result.avObject.get('arrayColumn')).to.eql([1, 2, 3]);
expect(result.avObject.get('objectColumn')).to.eql({foo: 'bar'});
expect(result.avObject.get('stringColumn')).to.be('testString');
expect(result.avObject.get('anyColumn')).to.be('');
expect(result.avObject.get('booleanColumn')).to.be(true);
expect(result.avObject.get('pointerColumn')).to.be.a(AV.Object);
expect(result.avObject.get('pointerColumn').id).to.be('55069e5be4b0c93838ed8e6c');
expect(result.avObject.get('relationColumn')).to.be.a(AV.Relation);
expect(result.avObject.get('relationColumn').targetClassName).to.be('TestObject');
expect(result.avObject.get('geopointColumn')).to.be.a(AV.GeoPoint);
expect(result.avObject.get('geopointColumn').latitude).to.be(0);
expect(result.avObject.get('geopointColumn').longitude).to.be(30);
expect(result.avObject.get('dateColumn')).to.be.a(Date);
expect(result.avObject.get('dateColumn').toISOString()).to.be('2015-05-14T06:24:47.000Z');
expect(result.avObject.get('fileColumn')).to.be.a(AV.File);
expect(result.avObject.get('fileColumn').name()).to.be('ttt.jpg');
expect(result.avObject.get('fileColumn').url()).to.be('http://ac-4h2h4okw.clouddn.com/4qSbLMO866Tf4YtT9QEwJwysTlHGC9sMl7bpTwhQ.jpg');
result.avObjects.forEach(function(object) {
expect(object).to.be.a(AV.Object);
expect(object.className).to.be('ComplexObject');
});
});
});
it('receive bare AVObject', function() {
return AV.Cloud.rpc('bareAVObject').then(function(result) {
expect(result).to.be.a(AV.Object);
expect(result.className).to.be('ComplexObject');
expect(result.get('fileColumn')).to.be.a(AV.File);
});
});
it('receive array of AVObjects', function() {
return AV.Cloud.rpc('AVObjects').then(function(result) {
result.forEach(function(object) {
expect(object).to.be.a(AV.Object);
expect(object.className).to.be('ComplexObject');
});
});
});
it('send AVObject', function() {
var avObject = new AV.Object('ComplexObject');
var avObjectItem = new AV.Object('ComplexObject');
avObject.set({
name: 'avObject',
pointerColumn: AV.Object.createWithoutData('_User', '55069e5be4b0c93838ed8e6c')._toPointer()
});
avObjectItem.set({
name: 'avObjects'
});
return AV.Object.saveAll([avObject, avObjectItem]).then(function() {
return AV.Cloud.rpc('testAVObjectParams', {
avObject: avObject,
avFile: AV.File.withURL('hello.txt', 'http://ac-1qdney6b.qiniudn.com/3zLG4o0d27MsCQ0qHGRg4JUKbaXU2fiE35HdhC8j.txt'),
avObjects: [avObjectItem]
});
});
});
it('send bare AVObject', function() {
var avObject = new AV.Object('ComplexObject');
avObject.set({
name: 'avObject',
avFile: AV.File.withURL('hello.txt', 'http://ac-1qdney6b.qiniudn.com/3zLG4o0d27MsCQ0qHGRg4JUKbaXU2fiE35HdhC8j.txt')
});
return AV.Cloud.rpc('testBareAVObjectParams', avObject);
});
});
after(function() {
AV._config.APIServerURL = originalServerURL;
AV.applicationId = originalAppId;
AV.applicationKey = originalAppKey;
AV._useMasterKey = originalUseMasterKey;
});
});