test: better tests.

Signed-off-by: xsahil03x <[email protected]>
This commit is contained in:
Sahil Kumar
2023-06-17 06:30:28 +05:30
committed by xsahil03x
parent 517154cc8f
commit 5064a27de5
2 changed files with 62 additions and 26 deletions
@@ -38,7 +38,8 @@ void main() {
parentId: 'testParentId',
quotedMessageId: quotedMessage.id,
command: 'testCommand',
remoteCreatedAt: DateTime.now(),
localCreatedAt: DateTime.now(),
remoteCreatedAt: DateTime.now().add(const Duration(seconds: 1)),
shadowed: math.Random().nextBool(),
showInChannel: math.Random().nextBool(),
replyCount: 33,
@@ -52,10 +53,12 @@ void main() {
jsonEncode(User(id: 'testuser')),
],
status: MessageSendingStatus.sent,
remoteUpdatedAt: DateTime.now(),
localUpdatedAt: DateTime.now(),
remoteUpdatedAt: DateTime.now().add(const Duration(seconds: 1)),
extraData: {'extra_test_data': 'extraData'},
userId: user.id,
remoteDeletedAt: DateTime.now(),
localDeletedAt: DateTime.now(),
remoteDeletedAt: DateTime.now().add(const Duration(seconds: 1)),
messageText: 'Hello',
pinned: true,
pinExpires: DateTime.now().toUtc(),
@@ -81,7 +84,8 @@ void main() {
expect(message.parentId, entity.parentId);
expect(message.quotedMessageId, entity.quotedMessageId);
expect(message.command, entity.command);
expect(message.createdAt, isSameDateAs(entity.remoteCreatedAt));
expect(message.localCreatedAt, isSameDateAs(entity.localCreatedAt));
expect(message.remoteCreatedAt, isSameDateAs(entity.remoteCreatedAt));
expect(message.shadowed, entity.shadowed);
expect(message.showInChannel, entity.showInChannel);
for (var i = 0; i < message.mentionedUsers.length; i++) {
@@ -93,10 +97,12 @@ void main() {
expect(message.reactionScores, entity.reactionScores);
expect(message.reactionCounts, entity.reactionCounts);
expect(message.status, entity.status);
expect(message.updatedAt, isSameDateAs(entity.remoteUpdatedAt));
expect(message.localUpdatedAt, isSameDateAs(entity.localUpdatedAt));
expect(message.remoteUpdatedAt, isSameDateAs(entity.remoteUpdatedAt));
expect(message.extraData, entity.extraData);
expect(message.user!.id, entity.userId);
expect(message.deletedAt, isSameDateAs(entity.remoteDeletedAt));
expect(message.localDeletedAt, isSameDateAs(entity.localDeletedAt));
expect(message.remoteDeletedAt, isSameDateAs(entity.remoteDeletedAt));
expect(message.text, entity.messageText);
expect(message.pinned, entity.pinned);
expect(message.pinExpires, isSameDateAs(entity.pinExpires));
@@ -144,7 +150,8 @@ void main() {
parentId: 'testParentId',
quotedMessageId: quotedMessage.id,
command: 'testCommand',
createdAt: DateTime.now(),
localCreatedAt: DateTime.now(),
createdAt: DateTime.now().add(const Duration(seconds: 1)),
shadowed: math.Random().nextBool(),
showInChannel: math.Random().nextBool(),
replyCount: 33,
@@ -157,10 +164,12 @@ void main() {
(prev, curr) =>
prev?..update(curr.type, (value) => value + 1, ifAbsent: () => 1),
),
updatedAt: DateTime.now(),
localUpdatedAt: DateTime.now(),
updatedAt: DateTime.now().add(const Duration(seconds: 1)),
extraData: const {'extra_test_data': 'extraData'},
user: user,
deletedAt: DateTime.now(),
localDeletedAt: DateTime.now(),
deletedAt: DateTime.now().add(const Duration(seconds: 1)),
text: 'Hello',
pinned: true,
pinExpires: DateTime.now(),
@@ -179,7 +188,8 @@ void main() {
expect(entity.parentId, message.parentId);
expect(entity.quotedMessageId, message.quotedMessageId);
expect(entity.command, message.command);
expect(entity.remoteCreatedAt, isSameDateAs(message.createdAt));
expect(entity.localCreatedAt, isSameDateAs(message.localCreatedAt));
expect(entity.remoteCreatedAt, isSameDateAs(message.remoteCreatedAt));
expect(entity.shadowed, message.shadowed);
expect(entity.showInChannel, message.showInChannel);
expect(entity.replyCount, message.replyCount);
@@ -188,10 +198,12 @@ void main() {
expect(entity.reactionScores, message.reactionScores);
expect(entity.reactionCounts, message.reactionCounts);
expect(entity.status, message.status);
expect(entity.remoteUpdatedAt, isSameDateAs(message.updatedAt));
expect(entity.localUpdatedAt, isSameDateAs(message.localUpdatedAt));
expect(entity.remoteUpdatedAt, isSameDateAs(message.remoteUpdatedAt));
expect(entity.extraData, message.extraData);
expect(entity.userId, message.user!.id);
expect(entity.remoteDeletedAt, isSameDateAs(message.deletedAt));
expect(entity.localDeletedAt, isSameDateAs(message.localDeletedAt));
expect(entity.remoteDeletedAt, isSameDateAs(message.remoteDeletedAt));
expect(entity.messageText, message.text);
expect(entity.pinned, message.pinned);
expect(entity.pinExpires, isSameDateAs(message.pinExpires));
@@ -38,7 +38,8 @@ void main() {
parentId: 'testParentId',
quotedMessageId: quotedMessage.id,
command: 'testCommand',
remoteCreatedAt: DateTime.now(),
localCreatedAt: DateTime.now(),
remoteCreatedAt: DateTime.now().add(const Duration(seconds: 1)),
shadowed: math.Random().nextBool(),
showInChannel: math.Random().nextBool(),
replyCount: 33,
@@ -48,12 +49,16 @@ void main() {
(prev, curr) =>
prev?..update(curr.type, (value) => value + 1, ifAbsent: () => 1),
),
mentionedUsers: [],
mentionedUsers: [
jsonEncode(User(id: 'testuser')),
],
status: MessageSendingStatus.sent,
remoteUpdatedAt: DateTime.now(),
localUpdatedAt: DateTime.now(),
remoteUpdatedAt: DateTime.now().add(const Duration(seconds: 1)),
extraData: {'extra_test_data': 'extraData'},
userId: user.id,
remoteDeletedAt: DateTime.now(),
localDeletedAt: DateTime.now(),
remoteDeletedAt: DateTime.now().add(const Duration(seconds: 1)),
messageText: 'Hello',
pinned: true,
pinExpires: DateTime.now().toUtc(),
@@ -79,17 +84,25 @@ void main() {
expect(message.parentId, entity.parentId);
expect(message.quotedMessageId, entity.quotedMessageId);
expect(message.command, entity.command);
expect(message.createdAt, isSameDateAs(entity.remoteCreatedAt));
expect(message.localCreatedAt, isSameDateAs(entity.localCreatedAt));
expect(message.remoteCreatedAt, isSameDateAs(entity.remoteCreatedAt));
expect(message.shadowed, entity.shadowed);
expect(message.showInChannel, entity.showInChannel);
for (var i = 0; i < message.mentionedUsers.length; i++) {
final entityMentionedUser =
User.fromJson(jsonDecode(entity.mentionedUsers[i]));
expect(message.mentionedUsers[i].id, entityMentionedUser.id);
}
expect(message.replyCount, entity.replyCount);
expect(message.reactionScores, entity.reactionScores);
expect(message.reactionCounts, entity.reactionCounts);
expect(message.status, entity.status);
expect(message.updatedAt, isSameDateAs(entity.remoteUpdatedAt));
expect(message.localUpdatedAt, isSameDateAs(entity.localUpdatedAt));
expect(message.remoteUpdatedAt, isSameDateAs(entity.remoteUpdatedAt));
expect(message.extraData, entity.extraData);
expect(message.user!.id, entity.userId);
expect(message.deletedAt, isSameDateAs(entity.remoteDeletedAt));
expect(message.localDeletedAt, isSameDateAs(entity.localDeletedAt));
expect(message.remoteDeletedAt, isSameDateAs(entity.remoteDeletedAt));
expect(message.text, entity.messageText);
expect(message.pinned, entity.pinned);
expect(message.pinExpires, isSameDateAs(entity.pinExpires));
@@ -108,7 +121,7 @@ void main() {
}
});
test('toPinnedEntity should map message into PinnedMessageEntity', () {
test('toEntity should map message into MessageEntity', () {
const cid = 'testCid';
final user = User(id: 'testUserId');
final quotedMessage = Message(id: 'testQuotedMessageId');
@@ -137,20 +150,26 @@ void main() {
parentId: 'testParentId',
quotedMessageId: quotedMessage.id,
command: 'testCommand',
createdAt: DateTime.now(),
localCreatedAt: DateTime.now(),
createdAt: DateTime.now().add(const Duration(seconds: 1)),
shadowed: math.Random().nextBool(),
showInChannel: math.Random().nextBool(),
replyCount: 33,
mentionedUsers: [
User(id: 'testuser'),
],
reactionScores: {for (final r in reactions) r.type: r.score},
reactionCounts: reactions.fold(
{},
(prev, curr) =>
prev?..update(curr.type, (value) => value + 1, ifAbsent: () => 1),
),
updatedAt: DateTime.now(),
localUpdatedAt: DateTime.now(),
updatedAt: DateTime.now().add(const Duration(seconds: 1)),
extraData: const {'extra_test_data': 'extraData'},
user: user,
deletedAt: DateTime.now(),
localDeletedAt: DateTime.now(),
deletedAt: DateTime.now().add(const Duration(seconds: 1)),
text: 'Hello',
pinned: true,
pinExpires: DateTime.now(),
@@ -169,17 +188,22 @@ void main() {
expect(entity.parentId, message.parentId);
expect(entity.quotedMessageId, message.quotedMessageId);
expect(entity.command, message.command);
expect(entity.remoteCreatedAt, isSameDateAs(message.createdAt));
expect(entity.localCreatedAt, isSameDateAs(message.localCreatedAt));
expect(entity.remoteCreatedAt, isSameDateAs(message.remoteCreatedAt));
expect(entity.shadowed, message.shadowed);
expect(entity.showInChannel, message.showInChannel);
expect(entity.replyCount, message.replyCount);
expect(
entity.mentionedUsers, message.mentionedUsers.map(jsonEncode).toList());
expect(entity.reactionScores, message.reactionScores);
expect(entity.reactionCounts, message.reactionCounts);
expect(entity.status, message.status);
expect(entity.remoteUpdatedAt, isSameDateAs(message.updatedAt));
expect(entity.localUpdatedAt, isSameDateAs(message.localUpdatedAt));
expect(entity.remoteUpdatedAt, isSameDateAs(message.remoteUpdatedAt));
expect(entity.extraData, message.extraData);
expect(entity.userId, message.user!.id);
expect(entity.remoteDeletedAt, isSameDateAs(message.deletedAt));
expect(entity.localDeletedAt, isSameDateAs(message.localDeletedAt));
expect(entity.remoteDeletedAt, isSameDateAs(message.remoteDeletedAt));
expect(entity.messageText, message.text);
expect(entity.pinned, message.pinned);
expect(entity.pinExpires, isSameDateAs(message.pinExpires));