@@ -122,9 +122,12 @@ - (NSString *)toHashedId:(NSString *)docId {
122122// Asserts that the result of running the query while online (against the backend/emulator) is
123123// the same as running it while offline. The expected document Ids are hashed to match the
124124// actual document IDs created by the test helper.
125- - (void )assertOnlineAndOfflineResultsMatch : (FIRQuery *)query
125+ - (void )assertOnlineAndOfflineResultsMatch : (FIRCollectionReference *)collection
126+ withQuery : (FIRQuery *)query
126127 expectedDocs : (NSArray <NSString *> *)expectedDocs {
127- [self checkOnlineAndOfflineQuery: query matchesResult: [self toHashedIds: expectedDocs]];
128+ [self checkOnlineAndOfflineCollection: collection
129+ query: query
130+ matchesResult: [self toHashedIds: expectedDocs]];
128131}
129132
130133// Asserts that the IDs in the query snapshot matches the expected Ids. The expected document
@@ -219,7 +222,8 @@ - (void)testOrQueriesWithCompositeIndexes {
219222 [FIRFilter filterWhereField: @" a" isGreaterThan: @2 ], [FIRFilter filterWhereField: @" b"
220223 isEqualTo: @1 ]
221224 ]]];
222- [self assertOnlineAndOfflineResultsMatch: [self compositeIndexQuery: query1]
225+ [self assertOnlineAndOfflineResultsMatch: collRef
226+ withQuery: [self compositeIndexQuery: query1]
223227 expectedDocs: @[ @" doc5" , @" doc2" , @" doc3" ]];
224228
225229 // Test with limits (implicit order by ASC): (a==1) || (b > 0) LIMIT 2
@@ -228,7 +232,8 @@ - (void)testOrQueriesWithCompositeIndexes {
228232 [FIRFilter filterWhereField: @" a" isEqualTo: @1 ], [FIRFilter filterWhereField: @" b"
229233 isGreaterThan: @0 ]
230234 ]]];
231- [self assertOnlineAndOfflineResultsMatch: [[self compositeIndexQuery: query2] queryLimitedTo: 2 ]
235+ [self assertOnlineAndOfflineResultsMatch: collRef
236+ withQuery: [[self compositeIndexQuery: query2] queryLimitedTo: 2 ]
232237 expectedDocs: @[ @" doc1" , @" doc2" ]];
233238
234239 // Test with limits (explicit order by): (a==1) || (b > 0) LIMIT_TO_LAST 2
@@ -238,7 +243,8 @@ - (void)testOrQueriesWithCompositeIndexes {
238243 [FIRFilter filterWhereField: @" a" isEqualTo: @1 ], [FIRFilter filterWhereField: @" b"
239244 isGreaterThan: @0 ]
240245 ]]];
241- [self assertOnlineAndOfflineResultsMatch: [[[self compositeIndexQuery: query3] queryLimitedToLast: 2 ]
246+ [self assertOnlineAndOfflineResultsMatch: collRef
247+ withQuery: [[[self compositeIndexQuery: query3] queryLimitedToLast: 2 ]
242248 queryOrderedByField: @" b" ]
243249 expectedDocs: @[ @" doc3" , @" doc4" ]];
244250
@@ -248,7 +254,8 @@ - (void)testOrQueriesWithCompositeIndexes {
248254 [FIRFilter filterWhereField: @" a" isEqualTo: @2 ], [FIRFilter filterWhereField: @" b"
249255 isEqualTo: @1 ]
250256 ]]];
251- [self assertOnlineAndOfflineResultsMatch: [[[self compositeIndexQuery: query4] queryLimitedTo: 1 ]
257+ [self assertOnlineAndOfflineResultsMatch: collRef
258+ withQuery: [[[self compositeIndexQuery: query4] queryLimitedTo: 1 ]
252259 queryOrderedByField: @" a" ]
253260 expectedDocs: @[ @" doc5" ]];
254261
@@ -258,7 +265,8 @@ - (void)testOrQueriesWithCompositeIndexes {
258265 [FIRFilter filterWhereField: @" a" isEqualTo: @2 ], [FIRFilter filterWhereField: @" b"
259266 isEqualTo: @1 ]
260267 ]]];
261- [self assertOnlineAndOfflineResultsMatch: [[[self compositeIndexQuery: query5] queryLimitedToLast: 1 ]
268+ [self assertOnlineAndOfflineResultsMatch: collRef
269+ withQuery: [[[self compositeIndexQuery: query5] queryLimitedToLast: 1 ]
262270 queryOrderedByField: @" a" ]
263271 expectedDocs: @[ @" doc2" ]];
264272}
@@ -886,7 +894,8 @@ - (void)testMultipleInequalityFromCacheAndFromServer {
886894 // implicit AND: a != 1 && b < 2
887895 FIRQuery *query = [[collRef queryWhereField: @" a" isNotEqualTo: @1 ] queryWhereField: @" b"
888896 isLessThan: @2 ];
889- [self assertOnlineAndOfflineResultsMatch: [self compositeIndexQuery: query]
897+ [self assertOnlineAndOfflineResultsMatch: collRef
898+ withQuery: [self compositeIndexQuery: query]
890899 expectedDocs: @[ @" doc2" ]];
891900
892901 // explicit AND: a != 1 && b < 2
@@ -895,7 +904,8 @@ - (void)testMultipleInequalityFromCacheAndFromServer {
895904 [FIRFilter filterWhereField: @" a" isNotEqualTo: @1 ], [FIRFilter filterWhereField: @" b"
896905 isLessThan: @2 ]
897906 ]]];
898- [self assertOnlineAndOfflineResultsMatch: [self compositeIndexQuery: query]
907+ [self assertOnlineAndOfflineResultsMatch: collRef
908+ withQuery: [self compositeIndexQuery: query]
899909 expectedDocs: @[ @" doc2" ]];
900910
901911 // explicit AND: a < 3 && b not-in [2, 3]
@@ -905,14 +915,16 @@ - (void)testMultipleInequalityFromCacheAndFromServer {
905915 [FIRFilter filterWhereField: @" a" isLessThan: @3 ], [FIRFilter filterWhereField: @" b"
906916 notIn: @[ @2 , @3 ]]
907917 ]]];
908- [self assertOnlineAndOfflineResultsMatch: [self compositeIndexQuery: query]
918+ [self assertOnlineAndOfflineResultsMatch: collRef
919+ withQuery: [self compositeIndexQuery: query]
909920 expectedDocs: @[ @" doc1" , @" doc5" , @" doc2" ]];
910921
911922 // a <3 && b != 0, ordered by: b desc, a desc, __name__ desc
912923 query = [[[[collRef queryWhereField: @" a" isLessThan: @3 ] queryWhereField: @" b" isNotEqualTo: @0 ]
913924 queryOrderedByField: @" b"
914925 descending: YES ] queryLimitedTo: 2 ];
915- [self assertOnlineAndOfflineResultsMatch: [self compositeIndexQuery: query]
926+ [self assertOnlineAndOfflineResultsMatch: collRef
927+ withQuery: [self compositeIndexQuery: query]
916928 expectedDocs: @[ @" doc4" , @" doc2" ]];
917929
918930 // explicit OR: a>2 || b<1.
@@ -921,7 +933,8 @@ - (void)testMultipleInequalityFromCacheAndFromServer {
921933 [FIRFilter filterWhereField: @" a" isGreaterThan: @2 ], [FIRFilter filterWhereField: @" b"
922934 isLessThan: @1 ]
923935 ]]];
924- [self assertOnlineAndOfflineResultsMatch: [self compositeIndexQuery: query]
936+ [self assertOnlineAndOfflineResultsMatch: collRef
937+ withQuery: [self compositeIndexQuery: query]
925938 expectedDocs: @[ @" doc1" , @" doc3" ]];
926939}
927940
0 commit comments