add chat_persistence_client_test.dart
This commit is contained in:
@@ -0,0 +1,191 @@
|
|||||||
|
import 'package:stream_chat/src/core/api/requests.dart';
|
||||||
|
import 'package:stream_chat/src/core/models/channel_model.dart';
|
||||||
|
import 'package:stream_chat/src/core/models/channel_state.dart';
|
||||||
|
import 'package:stream_chat/src/core/models/event.dart';
|
||||||
|
import 'package:stream_chat/src/core/models/filter.dart';
|
||||||
|
import 'package:stream_chat/src/core/models/member.dart';
|
||||||
|
import 'package:stream_chat/src/core/models/message.dart';
|
||||||
|
import 'package:stream_chat/src/core/models/reaction.dart';
|
||||||
|
import 'package:stream_chat/src/core/models/read.dart';
|
||||||
|
import 'package:stream_chat/src/core/models/user.dart';
|
||||||
|
import 'package:stream_chat/src/db/chat_persistence_client.dart';
|
||||||
|
import 'package:test/test.dart';
|
||||||
|
|
||||||
|
class TestPersistenceClient extends ChatPersistenceClient {
|
||||||
|
@override
|
||||||
|
Future<void> connect(String userId) => throw UnimplementedError();
|
||||||
|
|
||||||
|
@override
|
||||||
|
Future<void> deleteChannels(List<String> cids) => throw UnimplementedError();
|
||||||
|
|
||||||
|
@override
|
||||||
|
Future<void> deleteMembersByCids(List<String> cids) => Future.value();
|
||||||
|
|
||||||
|
@override
|
||||||
|
Future<void> deleteMessageByCids(List<String> cids) => Future.value();
|
||||||
|
|
||||||
|
@override
|
||||||
|
Future<void> deleteMessageByIds(List<String> messageIds) => Future.value();
|
||||||
|
|
||||||
|
@override
|
||||||
|
Future<void> deletePinnedMessageByCids(List<String> cids) => Future.value();
|
||||||
|
|
||||||
|
@override
|
||||||
|
Future<void> deletePinnedMessageByIds(List<String> messageIds) =>
|
||||||
|
Future.value();
|
||||||
|
|
||||||
|
@override
|
||||||
|
Future<void> deleteReactionsByMessageId(List<String> messageIds) =>
|
||||||
|
Future.value();
|
||||||
|
|
||||||
|
@override
|
||||||
|
Future<void> disconnect({bool flush = false}) => throw UnimplementedError();
|
||||||
|
|
||||||
|
@override
|
||||||
|
Future<ChannelModel?> getChannelByCid(String cid) async =>
|
||||||
|
ChannelModel(cid: cid);
|
||||||
|
|
||||||
|
@override
|
||||||
|
Future<List<String>> getChannelCids() => throw UnimplementedError();
|
||||||
|
|
||||||
|
@override
|
||||||
|
Future<List<ChannelState>> getChannelStates(
|
||||||
|
{Filter? filter,
|
||||||
|
List<SortOption<ChannelModel>>? sort,
|
||||||
|
PaginationParams? paginationParams}) =>
|
||||||
|
throw UnimplementedError();
|
||||||
|
|
||||||
|
@override
|
||||||
|
Future<Map<String, List<Message>>> getChannelThreads(String cid) =>
|
||||||
|
throw UnimplementedError();
|
||||||
|
|
||||||
|
@override
|
||||||
|
Future<Event?> getConnectionInfo() => throw UnimplementedError();
|
||||||
|
|
||||||
|
@override
|
||||||
|
Future<DateTime?> getLastSyncAt() => throw UnimplementedError();
|
||||||
|
|
||||||
|
@override
|
||||||
|
Future<List<Member>> getMembersByCid(String cid) async => [];
|
||||||
|
|
||||||
|
@override
|
||||||
|
Future<List<Message>> getMessagesByCid(String cid,
|
||||||
|
{PaginationParams? messagePagination}) async =>
|
||||||
|
[];
|
||||||
|
|
||||||
|
@override
|
||||||
|
Future<List<Message>> getPinnedMessagesByCid(String cid,
|
||||||
|
{PaginationParams? messagePagination}) async =>
|
||||||
|
[];
|
||||||
|
|
||||||
|
@override
|
||||||
|
Future<List<Read>> getReadsByCid(String cid) async => [];
|
||||||
|
|
||||||
|
@override
|
||||||
|
Future<List<Message>> getReplies(String parentId,
|
||||||
|
{PaginationParams? options}) =>
|
||||||
|
throw UnimplementedError();
|
||||||
|
|
||||||
|
@override
|
||||||
|
Future<void> updateChannelQueries(Filter? filter, List<String> cids,
|
||||||
|
{bool clearQueryCache = false}) =>
|
||||||
|
throw UnimplementedError();
|
||||||
|
|
||||||
|
@override
|
||||||
|
Future<void> updateChannels(List<ChannelModel> channels) => Future.value();
|
||||||
|
|
||||||
|
@override
|
||||||
|
Future<void> updateConnectionInfo(Event event) => throw UnimplementedError();
|
||||||
|
|
||||||
|
@override
|
||||||
|
Future<void> updateLastSyncAt(DateTime lastSyncAt) =>
|
||||||
|
throw UnimplementedError();
|
||||||
|
|
||||||
|
@override
|
||||||
|
Future<void> updateMembers(String cid, List<Member> members) =>
|
||||||
|
Future.value();
|
||||||
|
|
||||||
|
@override
|
||||||
|
Future<void> updateMessages(String cid, List<Message> messages) =>
|
||||||
|
Future.value();
|
||||||
|
|
||||||
|
@override
|
||||||
|
Future<void> updatePinnedMessages(String cid, List<Message> messages) =>
|
||||||
|
Future.value();
|
||||||
|
|
||||||
|
@override
|
||||||
|
Future<void> updateReactions(List<Reaction> reactions) => Future.value();
|
||||||
|
|
||||||
|
@override
|
||||||
|
Future<void> updateReads(String cid, List<Read> reads) => Future.value();
|
||||||
|
|
||||||
|
@override
|
||||||
|
Future<void> updateUsers(List<User> users) => Future.value();
|
||||||
|
}
|
||||||
|
|
||||||
|
void main() {
|
||||||
|
group('chatPersistenceClient', () {
|
||||||
|
final persistenceClient = TestPersistenceClient();
|
||||||
|
|
||||||
|
test('deleteMessageById', () {
|
||||||
|
const messageId = 'message-id';
|
||||||
|
persistenceClient.deleteMessageById(messageId);
|
||||||
|
});
|
||||||
|
|
||||||
|
test('deleteMessageByCid', () {
|
||||||
|
const messageId = 'message-id';
|
||||||
|
persistenceClient.deleteMessageByCid(messageId);
|
||||||
|
});
|
||||||
|
|
||||||
|
test('deletePinnedMessageById', () {
|
||||||
|
const messageId = 'message-id';
|
||||||
|
persistenceClient.deletePinnedMessageById(messageId);
|
||||||
|
});
|
||||||
|
|
||||||
|
test('deletePinnedMessageByCid', () {
|
||||||
|
const messageId = 'message-id';
|
||||||
|
persistenceClient.deletePinnedMessageByCid(messageId);
|
||||||
|
});
|
||||||
|
|
||||||
|
test('getChannelStateByCid', () async {
|
||||||
|
const cid = 'test:cid';
|
||||||
|
final channelState = await persistenceClient.getChannelStateByCid(cid);
|
||||||
|
expect(channelState, isNotNull);
|
||||||
|
});
|
||||||
|
|
||||||
|
test('updateChannelState', () async {
|
||||||
|
const cid = 'test:cid';
|
||||||
|
final channelState = ChannelState();
|
||||||
|
persistenceClient.updateChannelState(channelState);
|
||||||
|
});
|
||||||
|
|
||||||
|
test('updateChannelStates', () async {
|
||||||
|
const cid = 'test:cid';
|
||||||
|
final user = User(id: 'test-user-id');
|
||||||
|
final channelState = ChannelState(
|
||||||
|
channel: ChannelModel(cid: cid, createdBy: user),
|
||||||
|
messages: [
|
||||||
|
Message(
|
||||||
|
id: 'test-message',
|
||||||
|
text: 'test-message',
|
||||||
|
user: user,
|
||||||
|
ownReactions: [Reaction(type: 'test', user: user)],
|
||||||
|
latestReactions: [Reaction(type: 'test', user: user)],
|
||||||
|
)
|
||||||
|
],
|
||||||
|
pinnedMessages: [
|
||||||
|
Message(
|
||||||
|
id: 'test-message',
|
||||||
|
text: 'test-message',
|
||||||
|
user: user,
|
||||||
|
ownReactions: [Reaction(type: 'test', user: user)],
|
||||||
|
latestReactions: [Reaction(type: 'test', user: user)],
|
||||||
|
)
|
||||||
|
],
|
||||||
|
read: [Read(lastRead: DateTime.now(), user: user)],
|
||||||
|
members: [Member(user: user)],
|
||||||
|
);
|
||||||
|
persistenceClient.updateChannelStates([channelState]);
|
||||||
|
});
|
||||||
|
});
|
||||||
|
}
|
||||||
Reference in New Issue
Block a user