@@ -175,20 +175,20 @@ describe_only(() => {
175
175
176
176
beforeEach ( async ( ) => {
177
177
await cacheAdapter . clear ( ) ;
178
- getSpy = spyOn ( cacheAdapter , 'get' ) . and . callThrough ( ) ;
179
- putSpy = spyOn ( cacheAdapter , 'put' ) . and . callThrough ( ) ;
180
178
await reconfigureServer ( {
181
179
cacheAdapter,
182
180
enableSingleSchemaCache : true ,
183
181
} ) ;
182
+ getSpy = spyOn ( cacheAdapter , 'get' ) . and . callThrough ( ) ;
183
+ putSpy = spyOn ( cacheAdapter , 'put' ) . and . callThrough ( ) ;
184
184
} ) ;
185
185
186
186
it ( 'test new object' , async ( ) => {
187
187
const object = new TestObject ( ) ;
188
188
object . set ( 'foo' , 'bar' ) ;
189
189
await object . save ( ) ;
190
- expect ( getSpy . calls . count ( ) ) . toBe ( 4 ) ;
191
- expect ( putSpy . calls . count ( ) ) . toBe ( 3 ) ;
190
+ expect ( getSpy . calls . count ( ) ) . toBe ( 2 ) ;
191
+ expect ( putSpy . calls . count ( ) ) . toBe ( 2 ) ;
192
192
} ) ;
193
193
194
194
it ( 'test new object multiple fields' , async ( ) => {
@@ -200,8 +200,8 @@ describe_only(() => {
200
200
booleanField : true ,
201
201
} ) ;
202
202
await container . save ( ) ;
203
- expect ( getSpy . calls . count ( ) ) . toBe ( 4 ) ;
204
- expect ( putSpy . calls . count ( ) ) . toBe ( 3 ) ;
203
+ expect ( getSpy . calls . count ( ) ) . toBe ( 2 ) ;
204
+ expect ( putSpy . calls . count ( ) ) . toBe ( 2 ) ;
205
205
} ) ;
206
206
207
207
it ( 'test update existing fields' , async ( ) => {
@@ -214,7 +214,57 @@ describe_only(() => {
214
214
215
215
object . set ( 'foo' , 'barz' ) ;
216
216
await object . save ( ) ;
217
- expect ( getSpy . calls . count ( ) ) . toBe ( 3 ) ;
217
+ expect ( getSpy . calls . count ( ) ) . toBe ( 2 ) ;
218
+ expect ( putSpy . calls . count ( ) ) . toBe ( 0 ) ;
219
+ } ) ;
220
+
221
+ it ( 'test saveAll / destroyAll' , async ( ) => {
222
+ const object = new TestObject ( ) ;
223
+ await object . save ( ) ;
224
+
225
+ getSpy . calls . reset ( ) ;
226
+ putSpy . calls . reset ( ) ;
227
+
228
+ const objects = [ ] ;
229
+ for ( let i = 0 ; i < 10 ; i ++ ) {
230
+ const object = new TestObject ( ) ;
231
+ object . set ( 'number' , i ) ;
232
+ objects . push ( object ) ;
233
+ }
234
+ await Parse . Object . saveAll ( objects ) ;
235
+ expect ( getSpy . calls . count ( ) ) . toBe ( 11 ) ;
236
+ expect ( putSpy . calls . count ( ) ) . toBe ( 10 ) ;
237
+
238
+ getSpy . calls . reset ( ) ;
239
+ putSpy . calls . reset ( ) ;
240
+
241
+ await Parse . Object . destroyAll ( objects ) ;
242
+ expect ( getSpy . calls . count ( ) ) . toBe ( 11 ) ;
243
+ expect ( putSpy . calls . count ( ) ) . toBe ( 0 ) ;
244
+ } ) ;
245
+
246
+ it ( 'test saveAll / destroyAll batch' , async ( ) => {
247
+ const object = new TestObject ( ) ;
248
+ await object . save ( ) ;
249
+
250
+ getSpy . calls . reset ( ) ;
251
+ putSpy . calls . reset ( ) ;
252
+
253
+ const objects = [ ] ;
254
+ for ( let i = 0 ; i < 10 ; i ++ ) {
255
+ const object = new TestObject ( ) ;
256
+ object . set ( 'number' , i ) ;
257
+ objects . push ( object ) ;
258
+ }
259
+ await Parse . Object . saveAll ( objects , { batchSize : 5 } ) ;
260
+ expect ( getSpy . calls . count ( ) ) . toBe ( 12 ) ;
261
+ expect ( putSpy . calls . count ( ) ) . toBe ( 5 ) ;
262
+
263
+ getSpy . calls . reset ( ) ;
264
+ putSpy . calls . reset ( ) ;
265
+
266
+ await Parse . Object . destroyAll ( objects , { batchSize : 5 } ) ;
267
+ expect ( getSpy . calls . count ( ) ) . toBe ( 12 ) ;
218
268
expect ( putSpy . calls . count ( ) ) . toBe ( 0 ) ;
219
269
} ) ;
220
270
@@ -228,7 +278,7 @@ describe_only(() => {
228
278
229
279
object . set ( 'new' , 'barz' ) ;
230
280
await object . save ( ) ;
231
- expect ( getSpy . calls . count ( ) ) . toBe ( 3 ) ;
281
+ expect ( getSpy . calls . count ( ) ) . toBe ( 2 ) ;
232
282
expect ( putSpy . calls . count ( ) ) . toBe ( 1 ) ;
233
283
} ) ;
234
284
@@ -248,8 +298,43 @@ describe_only(() => {
248
298
booleanField : true ,
249
299
} ) ;
250
300
await object . save ( ) ;
301
+ expect ( getSpy . calls . count ( ) ) . toBe ( 2 ) ;
302
+ expect ( putSpy . calls . count ( ) ) . toBe ( 1 ) ;
303
+ } ) ;
304
+
305
+ it ( 'test user' , async ( ) => {
306
+ const user = new Parse . User ( ) ;
307
+ user . setUsername ( 'testing' ) ;
308
+ user . setPassword ( 'testing' ) ;
309
+ await user . signUp ( ) ;
310
+
311
+ expect ( getSpy . calls . count ( ) ) . toBe ( 6 ) ;
312
+ expect ( putSpy . calls . count ( ) ) . toBe ( 1 ) ;
313
+ } ) ;
314
+
315
+ it ( 'test allowClientCreation false' , async ( ) => {
316
+ const object = new TestObject ( ) ;
317
+ await object . save ( ) ;
318
+ await reconfigureServer ( {
319
+ cacheAdapter,
320
+ enableSingleSchemaCache : true ,
321
+ allowClientClassCreation : false ,
322
+ } ) ;
323
+ getSpy . calls . reset ( ) ;
324
+ putSpy . calls . reset ( ) ;
325
+
326
+ object . set ( 'foo' , 'bar' ) ;
327
+ await object . save ( ) ;
251
328
expect ( getSpy . calls . count ( ) ) . toBe ( 3 ) ;
252
329
expect ( putSpy . calls . count ( ) ) . toBe ( 1 ) ;
330
+
331
+ getSpy . calls . reset ( ) ;
332
+ putSpy . calls . reset ( ) ;
333
+
334
+ const query = new Parse . Query ( TestObject ) ;
335
+ await query . get ( object . id ) ;
336
+ expect ( getSpy . calls . count ( ) ) . toBe ( 3 ) ;
337
+ expect ( putSpy . calls . count ( ) ) . toBe ( 0 ) ;
253
338
} ) ;
254
339
255
340
it ( 'test query' , async ( ) => {
@@ -266,6 +351,45 @@ describe_only(() => {
266
351
expect ( putSpy . calls . count ( ) ) . toBe ( 0 ) ;
267
352
} ) ;
268
353
354
+ it ( 'test query include' , async ( ) => {
355
+ const child = new TestObject ( ) ;
356
+ await child . save ( ) ;
357
+
358
+ const object = new TestObject ( ) ;
359
+ object . set ( 'child' , child ) ;
360
+ await object . save ( ) ;
361
+
362
+ getSpy . calls . reset ( ) ;
363
+ putSpy . calls . reset ( ) ;
364
+
365
+ const query = new Parse . Query ( TestObject ) ;
366
+ query . include ( 'child' ) ;
367
+ await query . get ( object . id ) ;
368
+
369
+ expect ( getSpy . calls . count ( ) ) . toBe ( 4 ) ;
370
+ expect ( putSpy . calls . count ( ) ) . toBe ( 0 ) ;
371
+ } ) ;
372
+
373
+ it ( 'query relation without schema' , async ( ) => {
374
+ const child = new Parse . Object ( 'ChildObject' ) ;
375
+ await child . save ( ) ;
376
+
377
+ const parent = new Parse . Object ( 'ParentObject' ) ;
378
+ const relation = parent . relation ( 'child' ) ;
379
+ relation . add ( child ) ;
380
+ await parent . save ( ) ;
381
+
382
+ getSpy . calls . reset ( ) ;
383
+ putSpy . calls . reset ( ) ;
384
+
385
+ const objects = await relation . query ( ) . find ( ) ;
386
+ expect ( objects . length ) . toBe ( 1 ) ;
387
+ expect ( objects [ 0 ] . id ) . toBe ( child . id ) ;
388
+
389
+ expect ( getSpy . calls . count ( ) ) . toBe ( 2 ) ;
390
+ expect ( putSpy . calls . count ( ) ) . toBe ( 0 ) ;
391
+ } ) ;
392
+
269
393
it ( 'test delete object' , async ( ) => {
270
394
const object = new TestObject ( ) ;
271
395
object . set ( 'foo' , 'bar' ) ;
@@ -275,7 +399,7 @@ describe_only(() => {
275
399
putSpy . calls . reset ( ) ;
276
400
277
401
await object . destroy ( ) ;
278
- expect ( getSpy . calls . count ( ) ) . toBe ( 3 ) ;
402
+ expect ( getSpy . calls . count ( ) ) . toBe ( 2 ) ;
279
403
expect ( putSpy . calls . count ( ) ) . toBe ( 0 ) ;
280
404
} ) ;
281
405
0 commit comments