Merge branches 'develop' and 'ref/segregate-api-layer' of https://github.com/GetStream/stream-chat-flutter into ref/segregate-api-layer

 Conflicts:
	packages/stream_chat/lib/src/api/channel.dart
	packages/stream_chat/lib/src/client.dart
	packages/stream_chat_persistence/lib/src/db/moor_chat_database.g.dart
This commit is contained in:
Sahil Kumar
2021-05-27 20:07:11 +05:30
44 changed files with 753 additions and 188 deletions
@@ -3,12 +3,14 @@ import 'package:stream_chat_persistence/src/dao/channel_dao.dart';
import 'package:stream_chat_persistence/src/db/moor_chat_database.dart';
import 'package:test/test.dart';
import '../../stream_chat_persistence_client_test.dart';
void main() {
late ChannelDao channelDao;
late MoorChatDatabase database;
setUp(() {
database = MoorChatDatabase.testable('testUserId');
database = testDatabaseProvider('testUserId');
channelDao = database.channelDao;
});
@@ -5,6 +5,7 @@ import 'package:stream_chat_persistence/src/dao/channel_query_dao.dart';
import 'package:stream_chat_persistence/src/db/moor_chat_database.dart';
import 'package:test/test.dart';
import '../../stream_chat_persistence_client_test.dart';
import '../utils/date_matcher.dart';
void main() {
@@ -12,7 +13,7 @@ void main() {
late ChannelQueryDao channelQueryDao;
setUp(() {
database = MoorChatDatabase.testable('testUserId');
database = testDatabaseProvider('testUserId');
channelQueryDao = database.channelQueryDao;
});
@@ -3,6 +3,7 @@ import 'package:stream_chat_persistence/src/dao/connection_event_dao.dart';
import 'package:stream_chat_persistence/src/db/moor_chat_database.dart';
import 'package:test/test.dart';
import '../../stream_chat_persistence_client_test.dart';
import '../utils/date_matcher.dart';
void main() {
@@ -10,7 +11,7 @@ void main() {
late MoorChatDatabase database;
setUp(() {
database = MoorChatDatabase.testable('testUserId');
database = testDatabaseProvider('testUserId');
eventDao = database.connectionEventDao;
});
@@ -5,6 +5,7 @@ import 'package:stream_chat_persistence/src/dao/dao.dart';
import 'package:stream_chat_persistence/src/db/moor_chat_database.dart';
import 'package:test/test.dart';
import '../../stream_chat_persistence_client_test.dart';
import '../utils/date_matcher.dart';
void main() {
@@ -12,7 +13,7 @@ void main() {
late MoorChatDatabase database;
setUp(() {
database = MoorChatDatabase.testable('testUserId');
database = testDatabaseProvider('testUserId');
memberDao = database.memberDao;
});
@@ -5,12 +5,14 @@ import 'package:stream_chat_persistence/src/dao/dao.dart';
import 'package:stream_chat_persistence/src/db/moor_chat_database.dart';
import 'package:test/test.dart';
import '../../stream_chat_persistence_client_test.dart';
void main() {
late MessageDao messageDao;
late MoorChatDatabase database;
setUp(() {
database = MoorChatDatabase.testable('testUserId');
database = testDatabaseProvider('testUserId');
messageDao = database.messageDao;
});
@@ -5,12 +5,14 @@ import 'package:stream_chat_persistence/src/dao/dao.dart';
import 'package:stream_chat_persistence/src/db/moor_chat_database.dart';
import 'package:test/test.dart';
import '../../stream_chat_persistence_client_test.dart';
void main() {
late PinnedMessageDao pinnedMessageDao;
late MoorChatDatabase database;
setUp(() {
database = MoorChatDatabase.testable('testUserId');
database = testDatabaseProvider('testUserId');
pinnedMessageDao = database.pinnedMessageDao;
});
@@ -5,12 +5,14 @@ import 'package:stream_chat_persistence/src/dao/reaction_dao.dart';
import 'package:stream_chat_persistence/src/db/moor_chat_database.dart';
import 'package:test/test.dart';
import '../../stream_chat_persistence_client_test.dart';
void main() {
late ReactionDao reactionDao;
late MoorChatDatabase database;
setUp(() {
database = MoorChatDatabase.testable('testUserId');
database = testDatabaseProvider('testUserId');
reactionDao = database.reactionDao;
});
@@ -3,6 +3,7 @@ import 'package:stream_chat_persistence/src/dao/dao.dart';
import 'package:stream_chat_persistence/src/db/moor_chat_database.dart';
import 'package:test/test.dart';
import '../../stream_chat_persistence_client_test.dart';
import '../utils/date_matcher.dart';
void main() {
@@ -10,7 +11,7 @@ void main() {
late MoorChatDatabase database;
setUp(() {
database = MoorChatDatabase.testable('testUserId');
database = testDatabaseProvider('testUserId');
readDao = database.readDao;
});
@@ -5,12 +5,14 @@ import 'package:stream_chat_persistence/src/db/moor_chat_database.dart';
import 'package:test/test.dart';
import 'package:stream_chat/stream_chat.dart';
import '../../stream_chat_persistence_client_test.dart';
void main() {
late UserDao userDao;
late MoorChatDatabase database;
setUp(() {
database = MoorChatDatabase.testable('testUserId');
database = testDatabaseProvider('testUserId');
userDao = database.userDao;
});
@@ -1,4 +1,5 @@
import 'package:mocktail/mocktail.dart';
import 'package:moor/ffi.dart';
import 'package:stream_chat/stream_chat.dart';
import 'package:stream_chat_persistence/src/db/moor_chat_database.dart';
import 'package:stream_chat_persistence/src/stream_chat_persistence_client.dart';
@@ -6,8 +7,8 @@ import 'package:test/test.dart';
import 'mock_chat_database.dart';
import 'src/utils/date_matcher.dart';
MoorChatDatabase _testDatabaseProvider(String userId, ConnectionMode mode) =>
MoorChatDatabase.testable(userId);
MoorChatDatabase testDatabaseProvider(String userId, [ConnectionMode? mode]) =>
MoorChatDatabase(userId, VmDatabase.memory());
void main() {
group('connect', () {
@@ -15,7 +16,7 @@ void main() {
test('successfully connects with the Database', () async {
final client = StreamChatPersistenceClient(logLevel: Level.ALL);
expect(client.db, isNull);
await client.connect(userId, databaseProvider: _testDatabaseProvider);
await client.connect(userId, databaseProvider: testDatabaseProvider);
expect(client.db, isNotNull);
expect(client.db, isA<MoorChatDatabase>());
expect(client.db!.userId, userId);
@@ -28,13 +29,13 @@ void main() {
test('throws if already connected', () async {
final client = StreamChatPersistenceClient(logLevel: Level.ALL);
expect(client.db, isNull);
await client.connect(userId, databaseProvider: _testDatabaseProvider);
await client.connect(userId, databaseProvider: testDatabaseProvider);
expect(client.db, isNotNull);
expect(client.db, isNotNull);
expect(client.db, isA<MoorChatDatabase>());
expect(client.db!.userId, userId);
expect(
() => client.connect(userId, databaseProvider: _testDatabaseProvider),
() => client.connect(userId, databaseProvider: testDatabaseProvider),
throwsException,
);
@@ -47,7 +48,7 @@ void main() {
test('disconnect', () async {
const userId = 'testUserId';
final client = StreamChatPersistenceClient(logLevel: Level.ALL);
await client.connect(userId, databaseProvider: _testDatabaseProvider);
await client.connect(userId, databaseProvider: testDatabaseProvider);
expect(client.db, isNotNull);
await client.disconnect(flush: true);
expect(client.db, isNull);