From 96c538a4c1859571f412074078c421a324904f37 Mon Sep 17 00:00:00 2001 From: Sahil Kumar Date: Fri, 19 May 2023 01:36:35 +0530 Subject: [PATCH] chore: use `isConnected` flag instead of checking `db` value. Signed-off-by: xsahil03x --- .../test/src/db/chat_persistence_client_test.dart | 3 +++ .../lib/src/stream_chat_persistence_client.dart | 4 ++-- .../test/stream_chat_persistence_client_test.dart | 13 ++++++------- 3 files changed, 11 insertions(+), 9 deletions(-) diff --git a/packages/stream_chat/test/src/db/chat_persistence_client_test.dart b/packages/stream_chat/test/src/db/chat_persistence_client_test.dart index 33e9b52b..62a7cf25 100644 --- a/packages/stream_chat/test/src/db/chat_persistence_client_test.dart +++ b/packages/stream_chat/test/src/db/chat_persistence_client_test.dart @@ -12,6 +12,9 @@ import 'package:stream_chat/src/db/chat_persistence_client.dart'; import 'package:test/test.dart'; class TestPersistenceClient extends ChatPersistenceClient { + @override + bool get isConnected => throw UnimplementedError(); + @override Future connect(String userId) => throw UnimplementedError(); diff --git a/packages/stream_chat_persistence/lib/src/stream_chat_persistence_client.dart b/packages/stream_chat_persistence/lib/src/stream_chat_persistence_client.dart index 6b910585..374bfa59 100644 --- a/packages/stream_chat_persistence/lib/src/stream_chat_persistence_client.dart +++ b/packages/stream_chat_persistence/lib/src/stream_chat_persistence_client.dart @@ -58,7 +58,7 @@ class StreamChatPersistenceClient extends ChatPersistenceClient { bool get _debugIsConnected { assert(() { - if (db == null) { + if (!isConnected) { throw StateError(''' $runtimeType hasn't been connected yet or used after `disconnect` was called. Consider calling `connect` to create a connection. @@ -408,7 +408,7 @@ class StreamChatPersistenceClient extends ChatPersistenceClient { @override Future disconnect({bool flush = false}) async { _logger.info('disconnect'); - if (db != null) { + if (isConnected) { _logger.info('Disconnecting'); if (flush) { _logger.info('Flushing'); diff --git a/packages/stream_chat_persistence/test/stream_chat_persistence_client_test.dart b/packages/stream_chat_persistence/test/stream_chat_persistence_client_test.dart index c99668fd..6791e07c 100644 --- a/packages/stream_chat_persistence/test/stream_chat_persistence_client_test.dart +++ b/packages/stream_chat_persistence/test/stream_chat_persistence_client_test.dart @@ -16,9 +16,9 @@ void main() { const userId = 'testUserId'; test('successfully connects with the Database', () async { final client = StreamChatPersistenceClient(logLevel: Level.ALL); - expect(client.db, isNull); + expect(client.isConnected, false); await client.connect(userId, databaseProvider: testDatabaseProvider); - expect(client.db, isNotNull); + expect(client.isConnected, true); expect(client.db, isA()); expect(client.db!.userId, userId); @@ -29,10 +29,9 @@ void main() { test('throws if already connected', () async { final client = StreamChatPersistenceClient(logLevel: Level.ALL); - expect(client.db, isNull); + expect(client.isConnected, false); await client.connect(userId, databaseProvider: testDatabaseProvider); - expect(client.db, isNotNull); - expect(client.db, isNotNull); + expect(client.isConnected, true); expect(client.db, isA()); expect(client.db!.userId, userId); expect( @@ -50,9 +49,9 @@ void main() { const userId = 'testUserId'; final client = StreamChatPersistenceClient(logLevel: Level.ALL); await client.connect(userId, databaseProvider: testDatabaseProvider); - expect(client.db, isNotNull); + expect(client.isConnected, true); await client.disconnect(flush: true); - expect(client.db, isNull); + expect(client.isConnected, false); }); test('client function throws stateError if db is not yet connected', () {