@@ -172,24 +172,30 @@ describe_only(() => {
172
172
let cacheAdapter ;
173
173
let getSpy ;
174
174
let putSpy ;
175
+ let delSpy ;
175
176
176
177
beforeEach ( async ( ) => {
177
178
cacheAdapter = new RedisCacheAdapter ( ) ;
178
- await cacheAdapter . clear ( ) ;
179
179
await reconfigureServer ( {
180
180
cacheAdapter,
181
- enableSingleSchemaCache : true ,
182
181
} ) ;
182
+ await cacheAdapter . clear ( ) ;
183
+
183
184
getSpy = spyOn ( cacheAdapter , 'get' ) . and . callThrough ( ) ;
184
185
putSpy = spyOn ( cacheAdapter , 'put' ) . and . callThrough ( ) ;
186
+ delSpy = spyOn ( cacheAdapter , 'del' ) . and . callThrough ( ) ;
185
187
} ) ;
186
188
187
189
it ( 'test new object' , async ( ) => {
188
190
const object = new TestObject ( ) ;
189
191
object . set ( 'foo' , 'bar' ) ;
190
192
await object . save ( ) ;
191
193
expect ( getSpy . calls . count ( ) ) . toBe ( 3 ) ;
192
- expect ( putSpy . calls . count ( ) ) . toBe ( 2 ) ;
194
+ expect ( putSpy . calls . count ( ) ) . toBe ( 3 ) ;
195
+ expect ( delSpy . calls . count ( ) ) . toBe ( 1 ) ;
196
+
197
+ const keys = await cacheAdapter . getAllKeys ( ) ;
198
+ expect ( keys . length ) . toBe ( 0 ) ;
193
199
} ) ;
194
200
195
201
it ( 'test new object multiple fields' , async ( ) => {
@@ -202,7 +208,11 @@ describe_only(() => {
202
208
} ) ;
203
209
await container . save ( ) ;
204
210
expect ( getSpy . calls . count ( ) ) . toBe ( 3 ) ;
205
- expect ( putSpy . calls . count ( ) ) . toBe ( 2 ) ;
211
+ expect ( putSpy . calls . count ( ) ) . toBe ( 3 ) ;
212
+ expect ( delSpy . calls . count ( ) ) . toBe ( 1 ) ;
213
+
214
+ const keys = await cacheAdapter . getAllKeys ( ) ;
215
+ expect ( keys . length ) . toBe ( 0 ) ;
206
216
} ) ;
207
217
208
218
it ( 'test update existing fields' , async ( ) => {
@@ -216,7 +226,11 @@ describe_only(() => {
216
226
object . set ( 'foo' , 'barz' ) ;
217
227
await object . save ( ) ;
218
228
expect ( getSpy . calls . count ( ) ) . toBe ( 3 ) ;
219
- expect ( putSpy . calls . count ( ) ) . toBe ( 0 ) ;
229
+ expect ( putSpy . calls . count ( ) ) . toBe ( 1 ) ;
230
+ expect ( delSpy . calls . count ( ) ) . toBe ( 2 ) ;
231
+
232
+ const keys = await cacheAdapter . getAllKeys ( ) ;
233
+ expect ( keys . length ) . toBe ( 0 ) ;
220
234
} ) ;
221
235
222
236
it ( 'test saveAll / destroyAll' , async ( ) => {
@@ -234,14 +248,18 @@ describe_only(() => {
234
248
}
235
249
await Parse . Object . saveAll ( objects ) ;
236
250
expect ( getSpy . calls . count ( ) ) . toBe ( 21 ) ;
237
- expect ( putSpy . calls . count ( ) ) . toBe ( 10 ) ;
251
+ expect ( putSpy . calls . count ( ) ) . toBe ( 11 ) ;
238
252
239
253
getSpy . calls . reset ( ) ;
240
254
putSpy . calls . reset ( ) ;
241
255
242
256
await Parse . Object . destroyAll ( objects ) ;
243
257
expect ( getSpy . calls . count ( ) ) . toBe ( 11 ) ;
244
- expect ( putSpy . calls . count ( ) ) . toBe ( 0 ) ;
258
+ expect ( putSpy . calls . count ( ) ) . toBe ( 1 ) ;
259
+ expect ( delSpy . calls . count ( ) ) . toBe ( 3 ) ;
260
+
261
+ const keys = await cacheAdapter . getAllKeys ( ) ;
262
+ expect ( keys . length ) . toBe ( 0 ) ;
245
263
} ) ;
246
264
247
265
it ( 'test saveAll / destroyAll batch' , async ( ) => {
@@ -259,14 +277,18 @@ describe_only(() => {
259
277
}
260
278
await Parse . Object . saveAll ( objects , { batchSize : 5 } ) ;
261
279
expect ( getSpy . calls . count ( ) ) . toBe ( 22 ) ;
262
- expect ( putSpy . calls . count ( ) ) . toBe ( 5 ) ;
280
+ expect ( putSpy . calls . count ( ) ) . toBe ( 7 ) ;
263
281
264
282
getSpy . calls . reset ( ) ;
265
283
putSpy . calls . reset ( ) ;
266
284
267
285
await Parse . Object . destroyAll ( objects , { batchSize : 5 } ) ;
268
286
expect ( getSpy . calls . count ( ) ) . toBe ( 12 ) ;
269
- expect ( putSpy . calls . count ( ) ) . toBe ( 0 ) ;
287
+ expect ( putSpy . calls . count ( ) ) . toBe ( 2 ) ;
288
+ expect ( delSpy . calls . count ( ) ) . toBe ( 5 ) ;
289
+
290
+ const keys = await cacheAdapter . getAllKeys ( ) ;
291
+ expect ( keys . length ) . toBe ( 0 ) ;
270
292
} ) ;
271
293
272
294
it ( 'test add new field to existing object' , async ( ) => {
@@ -280,7 +302,11 @@ describe_only(() => {
280
302
object . set ( 'new' , 'barz' ) ;
281
303
await object . save ( ) ;
282
304
expect ( getSpy . calls . count ( ) ) . toBe ( 3 ) ;
283
- expect ( putSpy . calls . count ( ) ) . toBe ( 1 ) ;
305
+ expect ( putSpy . calls . count ( ) ) . toBe ( 2 ) ;
306
+ expect ( delSpy . calls . count ( ) ) . toBe ( 2 ) ;
307
+
308
+ const keys = await cacheAdapter . getAllKeys ( ) ;
309
+ expect ( keys . length ) . toBe ( 0 ) ;
284
310
} ) ;
285
311
286
312
it ( 'test add multiple fields to existing object' , async ( ) => {
@@ -300,7 +326,11 @@ describe_only(() => {
300
326
} ) ;
301
327
await object . save ( ) ;
302
328
expect ( getSpy . calls . count ( ) ) . toBe ( 3 ) ;
303
- expect ( putSpy . calls . count ( ) ) . toBe ( 1 ) ;
329
+ expect ( putSpy . calls . count ( ) ) . toBe ( 2 ) ;
330
+ expect ( delSpy . calls . count ( ) ) . toBe ( 2 ) ;
331
+
332
+ const keys = await cacheAdapter . getAllKeys ( ) ;
333
+ expect ( keys . length ) . toBe ( 0 ) ;
304
334
} ) ;
305
335
306
336
it ( 'test user' , async ( ) => {
@@ -310,32 +340,42 @@ describe_only(() => {
310
340
await user . signUp ( ) ;
311
341
312
342
expect ( getSpy . calls . count ( ) ) . toBe ( 8 ) ;
313
- expect ( putSpy . calls . count ( ) ) . toBe ( 1 ) ;
343
+ expect ( putSpy . calls . count ( ) ) . toBe ( 2 ) ;
344
+ expect ( delSpy . calls . count ( ) ) . toBe ( 1 ) ;
345
+
346
+ const keys = await cacheAdapter . getAllKeys ( ) ;
347
+ expect ( keys . length ) . toBe ( 0 ) ;
314
348
} ) ;
315
349
316
350
it ( 'test allowClientCreation false' , async ( ) => {
317
351
const object = new TestObject ( ) ;
318
352
await object . save ( ) ;
319
353
await reconfigureServer ( {
320
354
cacheAdapter,
321
- enableSingleSchemaCache : true ,
322
355
allowClientClassCreation : false ,
323
356
} ) ;
357
+ await cacheAdapter . clear ( ) ;
358
+
324
359
getSpy . calls . reset ( ) ;
325
360
putSpy . calls . reset ( ) ;
361
+ delSpy . calls . reset ( ) ;
326
362
327
363
object . set ( 'foo' , 'bar' ) ;
328
364
await object . save ( ) ;
329
365
expect ( getSpy . calls . count ( ) ) . toBe ( 4 ) ;
330
- expect ( putSpy . calls . count ( ) ) . toBe ( 1 ) ;
366
+ expect ( putSpy . calls . count ( ) ) . toBe ( 2 ) ;
331
367
332
368
getSpy . calls . reset ( ) ;
333
369
putSpy . calls . reset ( ) ;
334
370
335
371
const query = new Parse . Query ( TestObject ) ;
336
372
await query . get ( object . id ) ;
337
373
expect ( getSpy . calls . count ( ) ) . toBe ( 3 ) ;
338
- expect ( putSpy . calls . count ( ) ) . toBe ( 0 ) ;
374
+ expect ( putSpy . calls . count ( ) ) . toBe ( 1 ) ;
375
+ expect ( delSpy . calls . count ( ) ) . toBe ( 2 ) ;
376
+
377
+ const keys = await cacheAdapter . getAllKeys ( ) ;
378
+ expect ( keys . length ) . toBe ( 0 ) ;
339
379
} ) ;
340
380
341
381
it ( 'test query' , async ( ) => {
@@ -345,11 +385,16 @@ describe_only(() => {
345
385
346
386
getSpy . calls . reset ( ) ;
347
387
putSpy . calls . reset ( ) ;
388
+ delSpy . calls . reset ( ) ;
348
389
349
390
const query = new Parse . Query ( TestObject ) ;
350
391
await query . get ( object . id ) ;
351
392
expect ( getSpy . calls . count ( ) ) . toBe ( 2 ) ;
352
- expect ( putSpy . calls . count ( ) ) . toBe ( 0 ) ;
393
+ expect ( putSpy . calls . count ( ) ) . toBe ( 1 ) ;
394
+ expect ( delSpy . calls . count ( ) ) . toBe ( 1 ) ;
395
+
396
+ const keys = await cacheAdapter . getAllKeys ( ) ;
397
+ expect ( keys . length ) . toBe ( 0 ) ;
353
398
} ) ;
354
399
355
400
it ( 'test query include' , async ( ) => {
@@ -368,7 +413,11 @@ describe_only(() => {
368
413
await query . get ( object . id ) ;
369
414
370
415
expect ( getSpy . calls . count ( ) ) . toBe ( 4 ) ;
371
- expect ( putSpy . calls . count ( ) ) . toBe ( 0 ) ;
416
+ expect ( putSpy . calls . count ( ) ) . toBe ( 1 ) ;
417
+ expect ( delSpy . calls . count ( ) ) . toBe ( 3 ) ;
418
+
419
+ const keys = await cacheAdapter . getAllKeys ( ) ;
420
+ expect ( keys . length ) . toBe ( 0 ) ;
372
421
} ) ;
373
422
374
423
it ( 'query relation without schema' , async ( ) => {
@@ -388,7 +437,11 @@ describe_only(() => {
388
437
expect ( objects [ 0 ] . id ) . toBe ( child . id ) ;
389
438
390
439
expect ( getSpy . calls . count ( ) ) . toBe ( 2 ) ;
391
- expect ( putSpy . calls . count ( ) ) . toBe ( 0 ) ;
440
+ expect ( putSpy . calls . count ( ) ) . toBe ( 1 ) ;
441
+ expect ( delSpy . calls . count ( ) ) . toBe ( 3 ) ;
442
+
443
+ const keys = await cacheAdapter . getAllKeys ( ) ;
444
+ expect ( keys . length ) . toBe ( 0 ) ;
392
445
} ) ;
393
446
394
447
it ( 'test delete object' , async ( ) => {
@@ -398,10 +451,15 @@ describe_only(() => {
398
451
399
452
getSpy . calls . reset ( ) ;
400
453
putSpy . calls . reset ( ) ;
454
+ delSpy . calls . reset ( ) ;
401
455
402
456
await object . destroy ( ) ;
403
457
expect ( getSpy . calls . count ( ) ) . toBe ( 2 ) ;
404
- expect ( putSpy . calls . count ( ) ) . toBe ( 0 ) ;
458
+ expect ( putSpy . calls . count ( ) ) . toBe ( 1 ) ;
459
+ expect ( delSpy . calls . count ( ) ) . toBe ( 1 ) ;
460
+
461
+ const keys = await cacheAdapter . getAllKeys ( ) ;
462
+ expect ( keys . length ) . toBe ( 0 ) ;
405
463
} ) ;
406
464
407
465
it ( 'test schema update class' , async ( ) => {
@@ -410,6 +468,7 @@ describe_only(() => {
410
468
411
469
getSpy . calls . reset ( ) ;
412
470
putSpy . calls . reset ( ) ;
471
+ delSpy . calls . reset ( ) ;
413
472
414
473
const config = Config . get ( 'test' ) ;
415
474
const schema = await config . database . loadSchema ( ) ;
@@ -452,6 +511,10 @@ describe_only(() => {
452
511
config . database
453
512
) ;
454
513
expect ( getSpy . calls . count ( ) ) . toBe ( 3 ) ;
455
- expect ( putSpy . calls . count ( ) ) . toBe ( 2 ) ;
514
+ expect ( putSpy . calls . count ( ) ) . toBe ( 3 ) ;
515
+ expect ( delSpy . calls . count ( ) ) . toBe ( 0 ) ;
516
+
517
+ const keys = await cacheAdapter . getAllKeys ( ) ;
518
+ expect ( keys . length ) . toBe ( 1 ) ;
456
519
} ) ;
457
520
} ) ;
0 commit comments