drift/extras/integration_tests/tests/lib/suite/crud_tests.dart

36 lines
976 B
Dart

import 'package:test/test.dart';
import 'package:tests/database/database.dart';
import 'package:tests/suite/suite.dart';
void crudTests(TestExecutor executor) {
test('inserting updates a select stream', () async {
final db = Database(executor.createExecutor());
final friends = db.watchFriendsOf(1);
final a = await db.getUserById(1);
final b = await db.getUserById(2);
final expectation = expectLater(
friends,
emitsInOrder(
[
isEmpty, // initial state without friendships
[b] // after we called makeFriends(a,b)
],
),
);
await db.makeFriends(a, b);
await expectation;
});
test('IN ? expressions can be expanded', () async {
// regression test for https://github.com/simolus3/moor/issues/156
final db = Database(executor.createExecutor());
final result = await db.usersById([1, 2, 3]);
expect(result.map((u) => u.name), ['Dash', 'Duke', 'Go Gopher']);
});
}