public async Task ThereAreNoMessages_ReturnNull(string who, string toWhom) { //arrange var messageHistory = new MessageHistroy(Constants.MessageHistoryKey, new List <string>() { who, toWhom }, new List <MessageEntity>()); mockMessageHistoryRepository.Setup(x => x.GetMessageHistory(It.IsAny <string>(), It.IsAny <string>())) .Returns((string senderUserName, string receiverUsername) => { return(Task.FromResult(messageHistory)); }); mockUserProvider.Setup(x => x.IsUserRegistered(It.IsAny <string>())).ReturnsAsync(true); var messageService = new MessageService( mockMessageQueueRepository.Object, mockMessageHistoryRepository.Object, mockUserProvider.Object, logger.Object); //act var result = await messageService.GetMessageHistory(who, toWhom); //assert Assert.True(result.Success); Assert.Equal(Messages.GetMessageHistory, result.Message); Assert.Equal(messageHistory, result.Data); mockMessageHistoryRepository.Verify(x => x.GetMessageHistory(It.IsAny <string>(), It.IsAny <string>()), Times.Once); mockUserProvider.Verify(x => x.IsUserRegistered(It.IsAny <string>()), Times.Once); }
public async Task <bool> UpdateMessageHistory(MessageHistroy messageHistory) { string messageHistoryJson = JsonConvert.SerializeObject(messageHistory); var isUpdated = await context.Redis.StringSetAsync(messageHistory.MessageHistoryKey, messageHistoryJson); if (!isUpdated) { return(false); } return(true); }
public async Task UnblockedUser_ReturnTrue(string messageLine, string senderUsername, string receiverUsername) { //arrange mockMessageQueueRepository.Setup(x => x.GetMessageQueue(It.IsAny <string>(), It.IsAny <string>())) .Returns((string senderUserName, string receiverUsername) => { var messageQueue = new MessageQueue(Constants.MessageQueueKey, senderUserName, receiverUsername, Constants.MessageLines); return(Task.FromResult(messageQueue)); }); mockMessageQueueRepository.Setup(x => x.UpdateMessageQueue(It.IsAny <MessageQueue>())).ReturnsAsync(true); var messageHistory = new MessageHistroy(Constants.MessageHistoryKey, new List <string>() { senderUsername, receiverUsername }, Constants.MessageEntities); mockMessageHistoryRepository.Setup(x => x.GetMessageHistory(It.IsAny <string>(), It.IsAny <string>())) .Returns((string senderUserName, string receiverUsername) => { return(Task.FromResult(messageHistory)); }); mockUserProvider.Setup(x => x.IsUserRegistered(It.IsAny <string>())).ReturnsAsync(true); mockUserProvider.Setup(x => x.IsBlockedByUser(It.IsAny <string>())).ReturnsAsync(false); var messageService = new MessageService( mockMessageQueueRepository.Object, mockMessageHistoryRepository.Object, mockUserProvider.Object, logger.Object); //act var result = await messageService.AddMessage(messageLine, senderUsername, receiverUsername); //assert Assert.True(result.Success); Assert.Equal(Messages.MessageSended, result.Message); mockMessageQueueRepository.Verify(x => x.UpdateMessageQueue(It.IsAny <MessageQueue>()), Times.Once); mockMessageQueueRepository.Verify(x => x.GetMessageQueue(It.IsAny <string>(), It.IsAny <string>()), Times.Once); mockUserProvider.Verify(x => x.IsUserRegistered(It.IsAny <string>()), Times.Once); mockUserProvider.Verify(x => x.IsBlockedByUser(It.IsAny <string>()), Times.Once); }