public async Task GiveValidRequestWithTeamIdAndUserId_ShouldReturnChannelLastContentData() { var sut = new GetLastContentOfConversationQueryHandler(_context, _mapper, _currentUserServiceMock.Object); var command = new GetLastContentOfConversationQuery() { TeamId = validTeamId, UserId = Guid.Parse(_currentUserServiceMock.Object.UserId) }; IEnumerable <ConversationLastContentModel> result = await sut.Handle(command, CancellationToken.None); result.ShouldNotBeNull(); result.ShouldNotContain(x => x.Conversation.Type == "group"); result.ShouldNotContain(x => x.Conversation.Type == "pair"); result.Count().ShouldBe(3); // created general in mock data 2 -> 3 conversation result.ShouldContain(x => x.Conversation.Name == "Channel 1 Name"); result.ShouldContain(x => x.LastMessageChatContent.Content == "message in channel 2"); // The last message result.ShouldContain(x => x.Conversation.Name == "Channel 2 Name"); result.ShouldContain(x => x.LastMessageChatContent.Content == null); // Have no message inside }
public async Task GiveValidRequestWithNOTeamIdAndUserId_ShouldReturnConversationLastContentData() { var sut = new GetLastContentOfConversationQueryHandler(_context, _mapper, _currentUserServiceMock.Object); var command = new GetLastContentOfConversationQuery() { UserId = Guid.Parse(_currentUserServiceMock.Object.UserId) }; var result = await sut.Handle(command, CancellationToken.None); result.ShouldNotBeNull(); result.Count().ShouldBe(3); result.ShouldNotContain(x => x.Conversation.Type == "channel"); result.ElementAt(0).Conversation.Type.ShouldBe("pair"); result.ElementAt(0).LastMessageChatContent.Content.ShouldBe("message 2"); result.ElementAt(1).Conversation.Type.ShouldBe("pair"); result.ElementAt(1).LastMessageChatContent.Content.ShouldBe("message 3"); result.ElementAt(2).Conversation.Type.ShouldBe("group"); result.ElementAt(2).LastMessageChatContent.Content.ShouldBe("message in conversation 3: Group 3"); }