From 66edb127368a775afc14ed961f300e1bae9e4290 Mon Sep 17 00:00:00 2001 From: Sahil Kumar Date: Fri, 19 Mar 2021 14:35:46 +0530 Subject: [PATCH] test(persistence): add tests moor chat database Signed-off-by: Sahil Kumar --- .../test/src/db/moor_chat_database_test.dart | 43 +++++++++++++++++++ 1 file changed, 43 insertions(+) create mode 100644 packages/stream_chat_persistence/test/src/db/moor_chat_database_test.dart diff --git a/packages/stream_chat_persistence/test/src/db/moor_chat_database_test.dart b/packages/stream_chat_persistence/test/src/db/moor_chat_database_test.dart new file mode 100644 index 00000000..2ec4c76b --- /dev/null +++ b/packages/stream_chat_persistence/test/src/db/moor_chat_database_test.dart @@ -0,0 +1,43 @@ +import 'package:test/test.dart'; +import 'package:moor/ffi.dart'; +import 'package:moor/isolate.dart'; +import 'package:moor/moor.dart' hide isNotNull; +import 'package:stream_chat_persistence/src/db/moor_chat_database.dart'; + +DatabaseConnection _backgroundConnection() => + DatabaseConnection.fromExecutor(VmDatabase.memory()); + +void main() { + test( + 'default constructor should create a new instance of MoorChatDatabase', + () async { + const userId = 'testUserId'; + final executor = VmDatabase.memory(); + final database = MoorChatDatabase(userId, executor); + expect(database, isNotNull); + expect(database.userId, userId); + + addTearDown(() async { + await database.disconnect(); + }); + }, + ); + + test( + 'connect constructor should create a new instance of MoorChatDatabase', + () async { + const userId = 'testUserId'; + final isolate = await MoorIsolate.spawn(_backgroundConnection); + final connection = DatabaseConnection.delayed(isolate.connect()); + + final database = MoorChatDatabase.connect(userId, connection); + expect(database, isNotNull); + expect(database.userId, userId); + + addTearDown(() async { + await database.disconnect(); + await isolate.shutdownAll(); + }); + }, + ); +}