@@ -3348,6 +3348,122 @@ describe('Parse.Query testing', () => {
3348
3348
}
3349
3349
) ;
3350
3350
} ) ;
3351
+ it ( 'exclude keys' , async ( ) => {
3352
+ const obj = new TestObject ( { foo : 'baz' , hello : 'world' } ) ;
3353
+ await obj . save ( ) ;
3354
+
3355
+ const response = await request ( {
3356
+ url : Parse . serverURL + '/classes/TestObject' ,
3357
+ qs : {
3358
+ excludeKeys : 'foo' ,
3359
+ where : JSON . stringify ( { objectId : obj . id } ) ,
3360
+ } ,
3361
+ headers : masterKeyHeaders ,
3362
+ } ) ;
3363
+ expect ( response . data . results [ 0 ] . foo ) . toBeUndefined ( ) ;
3364
+ expect ( response . data . results [ 0 ] . hello ) . toBe ( 'world' ) ;
3365
+ } ) ;
3366
+
3367
+ it ( 'exclude keys with select same key' , async ( ) => {
3368
+ const obj = new TestObject ( { foo : 'baz' , hello : 'world' } ) ;
3369
+ await obj . save ( ) ;
3370
+
3371
+ const response = await request ( {
3372
+ url : Parse . serverURL + '/classes/TestObject' ,
3373
+ qs : {
3374
+ keys : 'foo' ,
3375
+ excludeKeys : 'foo' ,
3376
+ where : JSON . stringify ( { objectId : obj . id } ) ,
3377
+ } ,
3378
+ headers : masterKeyHeaders ,
3379
+ } ) ;
3380
+ expect ( response . data . results [ 0 ] . foo ) . toBeUndefined ( ) ;
3381
+ expect ( response . data . results [ 0 ] . hello ) . toBeUndefined ( ) ;
3382
+ } ) ;
3383
+
3384
+ it ( 'exclude keys with select different key' , async ( ) => {
3385
+ const obj = new TestObject ( { foo : 'baz' , hello : 'world' } ) ;
3386
+ await obj . save ( ) ;
3387
+
3388
+ const response = await request ( {
3389
+ url : Parse . serverURL + '/classes/TestObject' ,
3390
+ qs : {
3391
+ keys : 'foo,hello' ,
3392
+ excludeKeys : 'foo' ,
3393
+ where : JSON . stringify ( { objectId : obj . id } ) ,
3394
+ } ,
3395
+ headers : masterKeyHeaders ,
3396
+ } ) ;
3397
+ expect ( response . data . results [ 0 ] . foo ) . toBeUndefined ( ) ;
3398
+ expect ( response . data . results [ 0 ] . hello ) . toBe ( 'world' ) ;
3399
+ } ) ;
3400
+
3401
+ it ( 'exclude keys with include same key' , async ( ) => {
3402
+ const pointer = new TestObject ( ) ;
3403
+ await pointer . save ( ) ;
3404
+ const obj = new TestObject ( { child : pointer , hello : 'world' } ) ;
3405
+ await obj . save ( ) ;
3406
+
3407
+ const response = await request ( {
3408
+ url : Parse . serverURL + '/classes/TestObject' ,
3409
+ qs : {
3410
+ include : 'child' ,
3411
+ excludeKeys : 'child' ,
3412
+ where : JSON . stringify ( { objectId : obj . id } ) ,
3413
+ } ,
3414
+ headers : masterKeyHeaders ,
3415
+ } ) ;
3416
+ expect ( response . data . results [ 0 ] . child ) . toBeUndefined ( ) ;
3417
+ expect ( response . data . results [ 0 ] . hello ) . toBe ( 'world' ) ;
3418
+ } ) ;
3419
+
3420
+ it ( 'exclude keys with include different key' , async ( ) => {
3421
+ const pointer = new TestObject ( ) ;
3422
+ await pointer . save ( ) ;
3423
+ const obj = new TestObject ( {
3424
+ child1 : pointer ,
3425
+ child2 : pointer ,
3426
+ hello : 'world' ,
3427
+ } ) ;
3428
+ await obj . save ( ) ;
3429
+
3430
+ const response = await request ( {
3431
+ url : Parse . serverURL + '/classes/TestObject' ,
3432
+ qs : {
3433
+ include : 'child1,child2' ,
3434
+ excludeKeys : 'child1' ,
3435
+ where : JSON . stringify ( { objectId : obj . id } ) ,
3436
+ } ,
3437
+ headers : masterKeyHeaders ,
3438
+ } ) ;
3439
+ expect ( response . data . results [ 0 ] . child1 ) . toBeUndefined ( ) ;
3440
+ expect ( response . data . results [ 0 ] . child2 . objectId ) . toEqual ( pointer . id ) ;
3441
+ expect ( response . data . results [ 0 ] . hello ) . toBe ( 'world' ) ;
3442
+ } ) ;
3443
+
3444
+ it ( 'exclude keys with includeAll' , async ( ) => {
3445
+ const pointer = new TestObject ( ) ;
3446
+ await pointer . save ( ) ;
3447
+ const obj = new TestObject ( {
3448
+ child1 : pointer ,
3449
+ child2 : pointer ,
3450
+ hello : 'world' ,
3451
+ } ) ;
3452
+ await obj . save ( ) ;
3453
+
3454
+ const response = await request ( {
3455
+ url : Parse . serverURL + '/classes/TestObject' ,
3456
+ qs : {
3457
+ includeAll : true ,
3458
+ excludeKeys : 'child1' ,
3459
+ where : JSON . stringify ( { objectId : obj . id } ) ,
3460
+ } ,
3461
+ headers : masterKeyHeaders ,
3462
+ } ) ;
3463
+ expect ( response . data . results [ 0 ] . child ) . toBeUndefined ( ) ;
3464
+ expect ( response . data . results [ 0 ] . child2 . objectId ) . toEqual ( pointer . id ) ;
3465
+ expect ( response . data . results [ 0 ] . hello ) . toBe ( 'world' ) ;
3466
+ } ) ;
3351
3467
3352
3468
it ( 'select keys with each query' , function ( done ) {
3353
3469
const obj = new TestObject ( { foo : 'baz' , bar : 1 } ) ;
0 commit comments