fix persistence not building for web

This commit is contained in:
Salvatore Giordano
2021-05-20 11:59:43 +02:00
parent e198149243
commit 229a30bd65
11 changed files with 30 additions and 21 deletions
@@ -1,5 +1,3 @@
import 'package:meta/meta.dart';
import 'package:moor/ffi.dart';
import 'package:moor/moor.dart';
import 'package:stream_chat/stream_chat.dart';
@@ -46,10 +44,6 @@ class MoorChatDatabase extends _$MoorChatDatabase {
DatabaseConnection connection,
) : super.connect(connection);
/// Custom constructor used only for testing
@visibleForTesting
MoorChatDatabase.testable(this._userId) : super(VmDatabase.memory());
final String _userId;
/// User id to which the database is connected
@@ -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);