Skip to content

Commit 5492aae

Browse files
committed
Improve the integration test coverage for online vs offline comparisons.
1 parent 4e0f630 commit 5492aae

File tree

5 files changed

+78
-8
lines changed

5 files changed

+78
-8
lines changed

packages/firestore/test/integration/api/composite_index_query.test.ts

Lines changed: 12 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -73,6 +73,7 @@ apiDescribe('Composite Index Queries', persistence => {
7373
return testHelper.withTestDocs(persistence, testDocs, async coll => {
7474
// a == 1, limit 2, b - desc
7575
await testHelper.assertOnlineAndOfflineResultsMatch(
76+
coll,
7677
testHelper.query(
7778
coll,
7879
where('a', '==', 1),
@@ -97,6 +98,7 @@ apiDescribe('Composite Index Queries', persistence => {
9798
return testHelper.withTestDocs(persistence, testDocs, async coll => {
9899
// with one inequality: a>2 || b==1.
99100
await testHelper.assertOnlineAndOfflineResultsMatch(
101+
coll,
100102
testHelper.compositeQuery(
101103
coll,
102104
or(where('a', '>', 2), where('b', '==', 1))
@@ -108,6 +110,7 @@ apiDescribe('Composite Index Queries', persistence => {
108110

109111
// Test with limits (implicit order by ASC): (a==1) || (b > 0) LIMIT 2
110112
await testHelper.assertOnlineAndOfflineResultsMatch(
113+
coll,
111114
testHelper.compositeQuery(
112115
coll,
113116
or(where('a', '==', 1), where('b', '>', 0)),
@@ -120,6 +123,7 @@ apiDescribe('Composite Index Queries', persistence => {
120123
// Test with limits (explicit order by): (a==1) || (b > 0) LIMIT_TO_LAST 2
121124
// Note: The public query API does not allow implicit ordering when limitToLast is used.
122125
await testHelper.assertOnlineAndOfflineResultsMatch(
126+
coll,
123127
testHelper.compositeQuery(
124128
coll,
125129
or(where('a', '==', 1), where('b', '>', 0)),
@@ -132,6 +136,7 @@ apiDescribe('Composite Index Queries', persistence => {
132136

133137
// Test with limits (explicit order by ASC): (a==2) || (b == 1) ORDER BY a LIMIT 1
134138
await testHelper.assertOnlineAndOfflineResultsMatch(
139+
coll,
135140
testHelper.compositeQuery(
136141
coll,
137142
or(where('a', '==', 2), where('b', '==', 1)),
@@ -143,6 +148,7 @@ apiDescribe('Composite Index Queries', persistence => {
143148

144149
// Test with limits (explicit order by DESC): (a==2) || (b == 1) ORDER BY a LIMIT_TO_LAST 1
145150
await testHelper.assertOnlineAndOfflineResultsMatch(
151+
coll,
146152
testHelper.compositeQuery(
147153
coll,
148154
or(where('a', '==', 2), where('b', '==', 1)),
@@ -857,12 +863,14 @@ apiDescribe('Composite Index Queries', persistence => {
857863
return testHelper.withTestDocs(persistence, testDocs, async coll => {
858864
// implicit AND: a != 1 && b < 2
859865
await testHelper.assertOnlineAndOfflineResultsMatch(
866+
coll,
860867
testHelper.query(coll, where('a', '!=', 1), where('b', '<', 2)),
861868
'doc2'
862869
);
863870

864871
// explicit AND: a != 1 && b < 2
865872
await testHelper.assertOnlineAndOfflineResultsMatch(
873+
coll,
866874
testHelper.compositeQuery(
867875
coll,
868876
and(where('a', '!=', 1), where('b', '<', 2))
@@ -873,6 +881,7 @@ apiDescribe('Composite Index Queries', persistence => {
873881
// explicit AND: a < 3 && b not-in [2, 3]
874882
// Implicitly ordered by: a asc, b asc, __name__ asc
875883
await testHelper.assertOnlineAndOfflineResultsMatch(
884+
coll,
876885
testHelper.compositeQuery(
877886
coll,
878887
and(where('a', '<', 3), where('b', 'not-in', [2, 3]))
@@ -884,6 +893,7 @@ apiDescribe('Composite Index Queries', persistence => {
884893

885894
// a <3 && b != 0, implicitly ordered by: a asc, b asc, __name__ asc
886895
await testHelper.assertOnlineAndOfflineResultsMatch(
896+
coll,
887897
testHelper.query(
888898
coll,
889899
where('b', '!=', 0),
@@ -896,6 +906,7 @@ apiDescribe('Composite Index Queries', persistence => {
896906

897907
// a <3 && b != 0, ordered by: b desc, a desc, __name__ desc
898908
await testHelper.assertOnlineAndOfflineResultsMatch(
909+
coll,
899910
testHelper.query(
900911
coll,
901912
where('a', '<', 3),
@@ -909,6 +920,7 @@ apiDescribe('Composite Index Queries', persistence => {
909920

910921
// explicit OR: multiple inequality: a>2 || b<1.
911922
await testHelper.assertOnlineAndOfflineResultsMatch(
923+
coll,
912924
testHelper.compositeQuery(
913925
coll,
914926
or(where('a', '>', 2), where('b', '<', 1))

packages/firestore/test/integration/api/database.test.ts

Lines changed: 10 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -780,14 +780,15 @@ apiDescribe('Database', persistence => {
780780

781781
return withTestCollection(persistence, docs, async randomCol => {
782782
const orderedQuery = query(randomCol, orderBy('embedding'));
783-
await checkOnlineAndOfflineResultsMatch(orderedQuery, ...documentIds);
783+
await checkOnlineAndOfflineResultsMatch(randomCol, orderedQuery, ...documentIds);
784784

785785
const orderedQueryLessThan = query(
786786
randomCol,
787787
orderBy('embedding'),
788788
where('embedding', '<', vector([1, 2, 100, 4, 4]))
789789
);
790790
await checkOnlineAndOfflineResultsMatch(
791+
randomCol,
791792
orderedQueryLessThan,
792793
...documentIds.slice(2, 11)
793794
);
@@ -798,6 +799,7 @@ apiDescribe('Database', persistence => {
798799
where('embedding', '>', vector([1, 2, 100, 4, 4]))
799800
);
800801
await checkOnlineAndOfflineResultsMatch(
802+
randomCol,
801803
orderedQueryGreaterThan,
802804
...documentIds.slice(12, 13)
803805
);
@@ -2396,6 +2398,7 @@ apiDescribe('Database', persistence => {
23962398
'a'
23972399
];
23982400
await checkOnlineAndOfflineResultsMatch(
2401+
collectionRef,
23992402
orderedQuery,
24002403
...expectedDocs
24012404
);
@@ -2416,6 +2419,7 @@ apiDescribe('Database', persistence => {
24162419
'Aa'
24172420
];
24182421
await checkOnlineAndOfflineResultsMatch(
2422+
collectionRef,
24192423
filteredQuery,
24202424
...expectedDocs
24212425
);
@@ -2467,7 +2471,7 @@ apiDescribe('Database', persistence => {
24672471

24682472
unsubscribe();
24692473

2470-
await checkOnlineAndOfflineResultsMatch(orderedQuery, ...expectedDocs);
2474+
await checkOnlineAndOfflineResultsMatch(collectionRef, orderedQuery, ...expectedDocs);
24712475
});
24722476
});
24732477

@@ -2499,7 +2503,7 @@ apiDescribe('Database', persistence => {
24992503

25002504
unsubscribe();
25012505

2502-
await checkOnlineAndOfflineResultsMatch(orderedQuery, ...expectedDocs);
2506+
await checkOnlineAndOfflineResultsMatch(collectionRef, orderedQuery, ...expectedDocs);
25032507
});
25042508
});
25052509

@@ -2531,7 +2535,7 @@ apiDescribe('Database', persistence => {
25312535

25322536
unsubscribe();
25332537

2534-
await checkOnlineAndOfflineResultsMatch(orderedQuery, ...expectedDocs);
2538+
await checkOnlineAndOfflineResultsMatch(collectionRef, orderedQuery, ...expectedDocs);
25352539
});
25362540
});
25372541

@@ -2563,7 +2567,7 @@ apiDescribe('Database', persistence => {
25632567

25642568
unsubscribe();
25652569

2566-
await checkOnlineAndOfflineResultsMatch(orderedQuery, ...expectedDocs);
2570+
await checkOnlineAndOfflineResultsMatch(collectionRef, orderedQuery, ...expectedDocs);
25672571
});
25682572
});
25692573

@@ -2608,7 +2612,7 @@ apiDescribe('Database', persistence => {
26082612

26092613
unsubscribe();
26102614

2611-
await checkOnlineAndOfflineResultsMatch(orderedQuery, ...expectedDocs);
2615+
await checkOnlineAndOfflineResultsMatch(collectionRef, orderedQuery, ...expectedDocs);
26122616
});
26132617
});
26142618

0 commit comments

Comments
 (0)