@@ -48,8 +48,15 @@ void main() {
4848
4949 test ('watch' , () async {
5050 var stream = dbu.select (dbu.todoItems).watch ();
51- var resultsPromise =
52- stream.distinct ().skipWhile ((e) => e.isEmpty).take (3 ).toList ();
51+ var resultsPromise = stream
52+ // toString() so that we can use distinct()
53+ .map ((rows) => rows.toString ())
54+ // Drift may or may not emit duplicate update notifications.
55+ // We use distinct() to ignore those.
56+ .distinct ()
57+ .skipWhile ((e) => e.isEmpty)
58+ .take (3 )
59+ .toList ();
5360
5461 await dbu.into (dbu.todoItems).insert (
5562 TodoItemsCompanion .insert (id: Value (1 ), description: 'Test 1' ));
@@ -65,16 +72,20 @@ void main() {
6572 expect (
6673 results,
6774 equals ([
68- [TodoItem (id: 1 , description: ' Test 1' )] ,
69- [TodoItem (id: 1 , description: ' Test 1B' )] ,
70- []
75+ ' [TodoItem(id: 1, description: Test 1)]' ,
76+ ' [TodoItem(id: 1, description: Test 1B)]' ,
77+ '[]'
7178 ]));
7279 });
7380
7481 test ('watch with external updates' , () async {
7582 var stream = dbu.select (dbu.todoItems).watch ();
76- var resultsPromise =
77- stream.distinct ().skipWhile ((e) => e.isEmpty).take (3 ).toList ();
83+ var resultsPromise = stream
84+ .map ((rows) => rows.toString ())
85+ .distinct ()
86+ .skipWhile ((e) => e.isEmpty)
87+ .take (3 )
88+ .toList ();
7889
7990 await db.execute (
8091 'INSERT INTO todos(id, description) VALUES(?, ?)' , [1 , 'Test 1' ]);
@@ -88,9 +99,9 @@ void main() {
8899 expect (
89100 results,
90101 equals ([
91- [TodoItem (id: 1 , description: ' Test 1' )] ,
92- [TodoItem (id: 1 , description: ' Test 1B' )] ,
93- []
102+ ' [TodoItem(id: 1, description: Test 1)]' ,
103+ ' [TodoItem(id: 1, description: Test 1B)]' ,
104+ '[]'
94105 ]));
95106 });
96107 });
0 commit comments