From 323c5b6cba9f874e736cb6221467da19a32d6fa8 Mon Sep 17 00:00:00 2001 From: Sahil Kumar Date: Wed, 17 Mar 2021 15:43:50 +0530 Subject: [PATCH] test(persistence): add tests for member mapper Signed-off-by: Sahil Kumar --- .../test/src/mapper/member_mapper_test.dart | 69 +++++++++++++++++++ 1 file changed, 69 insertions(+) create mode 100644 packages/stream_chat_persistence/test/src/mapper/member_mapper_test.dart diff --git a/packages/stream_chat_persistence/test/src/mapper/member_mapper_test.dart b/packages/stream_chat_persistence/test/src/mapper/member_mapper_test.dart new file mode 100644 index 00000000..0f7d4f11 --- /dev/null +++ b/packages/stream_chat_persistence/test/src/mapper/member_mapper_test.dart @@ -0,0 +1,69 @@ +import 'dart:math' as math; + +import 'package:test/test.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/mapper/member_mapper.dart'; + +import '../utils/date_matcher.dart'; + +void main() { + test('toMember should map entity into Member', () { + final user = User(id: 'testUserId'); + final entity = MemberEntity( + userId: user.id, + channelCid: 'testCid', + createdAt: DateTime.now(), + updatedAt: DateTime.now(), + role: 'testRole', + inviteAcceptedAt: DateTime.now(), + inviteRejectedAt: DateTime.now(), + invited: math.Random().nextBool(), + banned: math.Random().nextBool(), + shadowBanned: math.Random().nextBool(), + isModerator: math.Random().nextBool(), + ); + final member = entity.toMember(user: user); + expect(member, isA()); + expect(member.user.id, entity.userId); + expect(member.createdAt, isSameDateAs(entity.createdAt)); + expect(member.updatedAt, isSameDateAs(entity.updatedAt)); + expect(member.role, entity.role); + expect(member.inviteAcceptedAt, isSameDateAs(entity.inviteAcceptedAt)); + expect(member.inviteRejectedAt, isSameDateAs(entity.inviteRejectedAt)); + expect(member.invited, entity.invited); + expect(member.banned, entity.banned); + expect(member.shadowBanned, entity.shadowBanned); + expect(member.isModerator, entity.isModerator); + }); + + test('toEntity show map member into MemberEntity', () { + const cid = 'testCid'; + final user = User(id: 'testUserId'); + final member = Member( + user: user, + createdAt: DateTime.now(), + updatedAt: DateTime.now(), + role: 'testRole', + inviteAcceptedAt: DateTime.now(), + inviteRejectedAt: DateTime.now(), + invited: math.Random().nextBool(), + banned: math.Random().nextBool(), + shadowBanned: math.Random().nextBool(), + isModerator: math.Random().nextBool(), + ); + final entity = member.toEntity(cid: cid); + expect(entity, isA()); + expect(entity.channelCid, cid); + expect(entity.userId, member.user.id); + expect(entity.createdAt, isSameDateAs(member.createdAt)); + expect(entity.updatedAt, isSameDateAs(member.updatedAt)); + expect(entity.role, member.role); + expect(entity.inviteAcceptedAt, isSameDateAs(member.inviteAcceptedAt)); + expect(entity.inviteRejectedAt, isSameDateAs(member.inviteRejectedAt)); + expect(entity.invited, member.invited); + expect(entity.banned, member.banned); + expect(entity.shadowBanned, member.shadowBanned); + expect(entity.isModerator, member.isModerator); + }); +}