@@ -1227,6 +1227,66 @@ function runTest(controller) {
1227
1227
assert . equal ( results [ 0 ] . id , parent3 . id ) ;
1228
1228
} ) ;
1229
1229
1230
+ it ( `${ controller . name } can handle containsAll query on array` , async ( ) => {
1231
+ const obj1 = new TestObject ( { arrayField : [ 1 , 2 , 3 , 4 ] } ) ;
1232
+ const obj2 = new TestObject ( { arrayField : [ 0 , 2 ] } ) ;
1233
+ const obj3 = new TestObject ( { arrayField : [ 1 , 2 , 3 ] } ) ;
1234
+ await Parse . Object . saveAll ( [ obj1 , obj2 , obj3 ] ) ;
1235
+ await Parse . Object . pinAll ( [ obj1 , obj2 , obj3 ] ) ;
1236
+
1237
+ let query = new Parse . Query ( TestObject ) ;
1238
+ query . containsAll ( 'arrayField' , [ 1 , 2 ] ) ;
1239
+ query . fromPin ( ) ;
1240
+ let results = await query . find ( ) ;
1241
+ expect ( results . length ) . toBe ( 2 ) ;
1242
+
1243
+ query = new Parse . Query ( TestObject ) ;
1244
+ query . containsAll ( 'arrayField' , [ 5 , 6 ] ) ;
1245
+ query . fromPin ( ) ;
1246
+ results = await query . find ( ) ;
1247
+ expect ( results . length ) . toBe ( 0 ) ;
1248
+ } ) ;
1249
+
1250
+ it ( `${ controller . name } can handle containedIn query on array` , async ( ) => {
1251
+ const obj1 = new TestObject ( { arrayField : [ 1 , 2 , 3 , 4 ] } ) ;
1252
+ const obj2 = new TestObject ( { arrayField : [ 0 , 2 ] } ) ;
1253
+ const obj3 = new TestObject ( { arrayField : [ 1 , 2 , 3 ] } ) ;
1254
+ await Parse . Object . saveAll ( [ obj1 , obj2 , obj3 ] ) ;
1255
+ await Parse . Object . pinAll ( [ obj1 , obj2 , obj3 ] ) ;
1256
+
1257
+ let query = new Parse . Query ( TestObject ) ;
1258
+ query . containedIn ( 'arrayField' , [ 3 ] ) ;
1259
+ query . fromPin ( ) ;
1260
+ let results = await query . find ( ) ;
1261
+ expect ( results . length ) . toEqual ( 2 ) ;
1262
+
1263
+ query = new Parse . Query ( TestObject ) ;
1264
+ query . containedIn ( 'arrayField' , [ 5 ] ) ;
1265
+ query . fromPin ( ) ;
1266
+ results = await query . find ( ) ;
1267
+ expect ( results . length ) . toEqual ( 0 ) ;
1268
+ } ) ;
1269
+
1270
+ it ( `${ controller . name } can handle notContainedIn query on array` , async ( ) => {
1271
+ const obj1 = new TestObject ( { arrayField : [ 1 , 2 , 3 , 4 ] } ) ;
1272
+ const obj2 = new TestObject ( { arrayField : [ 0 , 2 ] } ) ;
1273
+ const obj3 = new TestObject ( { arrayField : [ 1 , 2 , 3 ] } ) ;
1274
+ await Parse . Object . saveAll ( [ obj1 , obj2 , obj3 ] ) ;
1275
+ await Parse . Object . pinAll ( [ obj1 , obj2 , obj3 ] ) ;
1276
+
1277
+ let query = new Parse . Query ( TestObject ) ;
1278
+ query . notContainedIn ( 'arrayField' , [ 3 ] ) ;
1279
+ query . fromPin ( ) ;
1280
+ let results = await query . find ( ) ;
1281
+ expect ( results . length ) . toEqual ( 1 ) ;
1282
+
1283
+ query = new Parse . Query ( TestObject ) ;
1284
+ query . notContainedIn ( 'arrayField' , [ 5 ] ) ;
1285
+ query . fromPin ( ) ;
1286
+ results = await query . find ( ) ;
1287
+ expect ( results . length ) . toEqual ( 3 ) ;
1288
+ } ) ;
1289
+
1230
1290
it ( `${ controller . name } can test equality with undefined` , async ( ) => {
1231
1291
const query = new Parse . Query ( 'BoxedNumber' ) ;
1232
1292
query . equalTo ( 'number' , undefined ) ;
0 commit comments