@@ -20,6 +20,7 @@ import {
2020 or ,
2121} from "@tanstack/db"
2222import { assertAllItemsMatch , assertCollectionSize } from "../utils/assertions"
23+ import { waitForQueryData } from "../utils/helpers"
2324import type { E2ETestConfig } from "../types"
2425
2526export function createPredicatesTestSuite (
@@ -38,6 +39,9 @@ export function createPredicatesTestSuite(
3839 )
3940
4041 await query . preload ( )
42+
43+ // Wait for Electric to stream snapshot data (on-demand collections load async)
44+ await waitForQueryData ( query , { minSize : 1 } )
4145
4246 const results = Array . from ( query . state . values ( ) )
4347 expect ( results . length ) . toBeGreaterThan ( 0 )
@@ -70,6 +74,7 @@ export function createPredicatesTestSuite(
7074 )
7175
7276 await query . preload ( )
77+ await waitForQueryData ( query , { minSize : 1 } )
7378
7479 const results = Array . from ( query . state . values ( ) )
7580 expect ( results . length ) . toBeGreaterThan ( 0 )
@@ -80,7 +85,7 @@ export function createPredicatesTestSuite(
8085 const config = await getConfig ( )
8186 const usersCollection = config . collections . onDemand . users
8287
83- const testUserId = `user -0000-4000-8000-000000000000`
88+ const testUserId = `00000000 -0000-4000-8000-000000000000` // User ID for index 0
8489
8590 const query = createLiveQueryCollection ( ( q ) =>
8691 q
@@ -89,6 +94,7 @@ export function createPredicatesTestSuite(
8994 )
9095
9196 await query . preload ( )
97+ await waitForQueryData ( query , { minSize : 1 } )
9298
9399 assertCollectionSize ( query , 1 )
94100 const result = Array . from ( query . state . values ( ) ) [ 0 ]
@@ -106,6 +112,7 @@ export function createPredicatesTestSuite(
106112 )
107113
108114 await query . preload ( )
115+ await waitForQueryData ( query , { minSize : 1 } )
109116
110117 const results = Array . from ( query . state . values ( ) )
111118 expect ( results . length ) . toBeGreaterThan ( 0 )
@@ -125,6 +132,7 @@ export function createPredicatesTestSuite(
125132 )
126133
127134 await query . preload ( )
135+ await waitForQueryData ( query , { minSize : 1 } )
128136
129137 const results = Array . from ( query . state . values ( ) )
130138 expect ( results . length ) . toBeGreaterThan ( 0 )
@@ -142,6 +150,7 @@ export function createPredicatesTestSuite(
142150 )
143151
144152 await query . preload ( )
153+ await waitForQueryData ( query , { minSize : 1 } )
145154
146155 const results = Array . from ( query . state . values ( ) )
147156 expect ( results . length ) . toBeGreaterThan ( 0 )
@@ -266,9 +275,9 @@ export function createPredicatesTestSuite(
266275 const usersCollection = config . collections . onDemand . users
267276
268277 const userIds = [
269- `user -0000-4000-8000-000000000000` ,
270- `user -0000-4000-8000-000000000001` ,
271- `user -0000-4000-8000-000000000002` ,
278+ `00000000 -0000-4000-8000-000000000000` , // User ID for index 0
279+ `00000001 -0000-4000-8000-000000000001` , // User ID for index 1
280+ `00000002 -0000-4000-8000-000000000002` , // User ID for index 2
272281 ]
273282
274283 const query = createLiveQueryCollection ( ( q ) =>
@@ -311,6 +320,7 @@ export function createPredicatesTestSuite(
311320 )
312321
313322 await query . preload ( )
323+ await waitForQueryData ( query , { minSize : 1 } )
314324
315325 const results = Array . from ( query . state . values ( ) )
316326 expect ( results . length ) . toBeGreaterThan ( 0 )
@@ -328,6 +338,7 @@ export function createPredicatesTestSuite(
328338 )
329339
330340 await query . preload ( )
341+ await waitForQueryData ( query , { minSize : 1 } )
331342
332343 const results = Array . from ( query . state . values ( ) )
333344 expect ( results . length ) . toBeGreaterThan ( 0 )
@@ -345,6 +356,7 @@ export function createPredicatesTestSuite(
345356 )
346357
347358 await query . preload ( )
359+ await waitForQueryData ( query , { minSize : 1 } )
348360
349361 const results = Array . from ( query . state . values ( ) )
350362 expect ( results . length ) . toBeGreaterThan ( 0 )
@@ -434,6 +446,7 @@ export function createPredicatesTestSuite(
434446 )
435447
436448 await query . preload ( )
449+ await waitForQueryData ( query , { minSize : 1 } )
437450
438451 // Verify that the underlying collection didn't load ALL users
439452 // In on-demand mode, it should only load age=25 users
@@ -453,6 +466,7 @@ export function createPredicatesTestSuite(
453466 )
454467
455468 await query . preload ( )
469+ await waitForQueryData ( query , { minSize : 1 } )
456470
457471 const results = Array . from ( query . state . values ( ) )
458472 expect ( results . length ) . toBeGreaterThan ( 0 )
0 commit comments