@@ -122,9 +122,12 @@ - (NSString *)toHashedId:(NSString *)docId {
122
122
// Asserts that the result of running the query while online (against the backend/emulator) is
123
123
// the same as running it while offline. The expected document Ids are hashed to match the
124
124
// actual document IDs created by the test helper.
125
- - (void )assertOnlineAndOfflineResultsMatch : (FIRQuery *)query
125
+ - (void )assertOnlineAndOfflineResultsMatch : (FIRCollectionReference *)collection
126
+ withQuery : (FIRQuery *)query
126
127
expectedDocs : (NSArray <NSString *> *)expectedDocs {
127
- [self checkOnlineAndOfflineQuery: query matchesResult: [self toHashedIds: expectedDocs]];
128
+ [self checkOnlineAndOfflineCollection: collection
129
+ query: query
130
+ matchesResult: [self toHashedIds: expectedDocs]];
128
131
}
129
132
130
133
// Asserts that the IDs in the query snapshot matches the expected Ids. The expected document
@@ -219,7 +222,8 @@ - (void)testOrQueriesWithCompositeIndexes {
219
222
[FIRFilter filterWhereField: @" a" isGreaterThan: @2 ], [FIRFilter filterWhereField: @" b"
220
223
isEqualTo: @1 ]
221
224
]]];
222
- [self assertOnlineAndOfflineResultsMatch: [self compositeIndexQuery: query1]
225
+ [self assertOnlineAndOfflineResultsMatch: collRef
226
+ withQuery: [self compositeIndexQuery: query1]
223
227
expectedDocs: @[ @" doc5" , @" doc2" , @" doc3" ]];
224
228
225
229
// Test with limits (implicit order by ASC): (a==1) || (b > 0) LIMIT 2
@@ -228,7 +232,8 @@ - (void)testOrQueriesWithCompositeIndexes {
228
232
[FIRFilter filterWhereField: @" a" isEqualTo: @1 ], [FIRFilter filterWhereField: @" b"
229
233
isGreaterThan: @0 ]
230
234
]]];
231
- [self assertOnlineAndOfflineResultsMatch: [[self compositeIndexQuery: query2] queryLimitedTo: 2 ]
235
+ [self assertOnlineAndOfflineResultsMatch: collRef
236
+ withQuery: [[self compositeIndexQuery: query2] queryLimitedTo: 2 ]
232
237
expectedDocs: @[ @" doc1" , @" doc2" ]];
233
238
234
239
// Test with limits (explicit order by): (a==1) || (b > 0) LIMIT_TO_LAST 2
@@ -238,7 +243,8 @@ - (void)testOrQueriesWithCompositeIndexes {
238
243
[FIRFilter filterWhereField: @" a" isEqualTo: @1 ], [FIRFilter filterWhereField: @" b"
239
244
isGreaterThan: @0 ]
240
245
]]];
241
- [self assertOnlineAndOfflineResultsMatch: [[[self compositeIndexQuery: query3] queryLimitedToLast: 2 ]
246
+ [self assertOnlineAndOfflineResultsMatch: collRef
247
+ withQuery: [[[self compositeIndexQuery: query3] queryLimitedToLast: 2 ]
242
248
queryOrderedByField: @" b" ]
243
249
expectedDocs: @[ @" doc3" , @" doc4" ]];
244
250
@@ -248,7 +254,8 @@ - (void)testOrQueriesWithCompositeIndexes {
248
254
[FIRFilter filterWhereField: @" a" isEqualTo: @2 ], [FIRFilter filterWhereField: @" b"
249
255
isEqualTo: @1 ]
250
256
]]];
251
- [self assertOnlineAndOfflineResultsMatch: [[[self compositeIndexQuery: query4] queryLimitedTo: 1 ]
257
+ [self assertOnlineAndOfflineResultsMatch: collRef
258
+ withQuery: [[[self compositeIndexQuery: query4] queryLimitedTo: 1 ]
252
259
queryOrderedByField: @" a" ]
253
260
expectedDocs: @[ @" doc5" ]];
254
261
@@ -258,7 +265,8 @@ - (void)testOrQueriesWithCompositeIndexes {
258
265
[FIRFilter filterWhereField: @" a" isEqualTo: @2 ], [FIRFilter filterWhereField: @" b"
259
266
isEqualTo: @1 ]
260
267
]]];
261
- [self assertOnlineAndOfflineResultsMatch: [[[self compositeIndexQuery: query5] queryLimitedToLast: 1 ]
268
+ [self assertOnlineAndOfflineResultsMatch: collRef
269
+ withQuery: [[[self compositeIndexQuery: query5] queryLimitedToLast: 1 ]
262
270
queryOrderedByField: @" a" ]
263
271
expectedDocs: @[ @" doc2" ]];
264
272
}
@@ -886,7 +894,8 @@ - (void)testMultipleInequalityFromCacheAndFromServer {
886
894
// implicit AND: a != 1 && b < 2
887
895
FIRQuery *query = [[collRef queryWhereField: @" a" isNotEqualTo: @1 ] queryWhereField: @" b"
888
896
isLessThan: @2 ];
889
- [self assertOnlineAndOfflineResultsMatch: [self compositeIndexQuery: query]
897
+ [self assertOnlineAndOfflineResultsMatch: collRef
898
+ withQuery: [self compositeIndexQuery: query]
890
899
expectedDocs: @[ @" doc2" ]];
891
900
892
901
// explicit AND: a != 1 && b < 2
@@ -895,7 +904,8 @@ - (void)testMultipleInequalityFromCacheAndFromServer {
895
904
[FIRFilter filterWhereField: @" a" isNotEqualTo: @1 ], [FIRFilter filterWhereField: @" b"
896
905
isLessThan: @2 ]
897
906
]]];
898
- [self assertOnlineAndOfflineResultsMatch: [self compositeIndexQuery: query]
907
+ [self assertOnlineAndOfflineResultsMatch: collRef
908
+ withQuery: [self compositeIndexQuery: query]
899
909
expectedDocs: @[ @" doc2" ]];
900
910
901
911
// explicit AND: a < 3 && b not-in [2, 3]
@@ -905,14 +915,16 @@ - (void)testMultipleInequalityFromCacheAndFromServer {
905
915
[FIRFilter filterWhereField: @" a" isLessThan: @3 ], [FIRFilter filterWhereField: @" b"
906
916
notIn: @[ @2 , @3 ]]
907
917
]]];
908
- [self assertOnlineAndOfflineResultsMatch: [self compositeIndexQuery: query]
918
+ [self assertOnlineAndOfflineResultsMatch: collRef
919
+ withQuery: [self compositeIndexQuery: query]
909
920
expectedDocs: @[ @" doc1" , @" doc5" , @" doc2" ]];
910
921
911
922
// a <3 && b != 0, ordered by: b desc, a desc, __name__ desc
912
923
query = [[[[collRef queryWhereField: @" a" isLessThan: @3 ] queryWhereField: @" b" isNotEqualTo: @0 ]
913
924
queryOrderedByField: @" b"
914
925
descending: YES ] queryLimitedTo: 2 ];
915
- [self assertOnlineAndOfflineResultsMatch: [self compositeIndexQuery: query]
926
+ [self assertOnlineAndOfflineResultsMatch: collRef
927
+ withQuery: [self compositeIndexQuery: query]
916
928
expectedDocs: @[ @" doc4" , @" doc2" ]];
917
929
918
930
// explicit OR: a>2 || b<1.
@@ -921,7 +933,8 @@ - (void)testMultipleInequalityFromCacheAndFromServer {
921
933
[FIRFilter filterWhereField: @" a" isGreaterThan: @2 ], [FIRFilter filterWhereField: @" b"
922
934
isLessThan: @1 ]
923
935
]]];
924
- [self assertOnlineAndOfflineResultsMatch: [self compositeIndexQuery: query]
936
+ [self assertOnlineAndOfflineResultsMatch: collRef
937
+ withQuery: [self compositeIndexQuery: query]
925
938
expectedDocs: @[ @" doc1" , @" doc3" ]];
926
939
}
927
940
0 commit comments