public async Task Post_CallsRemoveConnections() { var addedConnections = new List <connection_user_topic>(); var connectionsToRemove = new List <connection_user_topic> { new connection_user_topic { AspNetUserID = user.Id, TopicID = 1 } }; var postDto = SetupForPost(addedConnections); var toUnsubscribe = new List <int> { 1 }; postDto.To_Unsubscribe = toUnsubscribe; var topicsController = new TopicsController(unitOfWork.Object, mockEmailService.Object, mockManager.Object); await topicsController.PostControllerAsync(postDto); topicsRepository.Verify(x => x.RemoveConnections(It.Is <IEnumerable <connection_user_topic> >( list => list.Count() == 1 && list.First().AspNetUserID == connectionsToRemove[0].AspNetUserID && list.First().TopicID == connectionsToRemove[0].TopicID))); }
public async Task Post_ReturnsSuccessAsync() { var addedConnections = new List <connection_user_topic>(); var removedConnections = new List <connection_user_topic>(); var postDto = SetupForPost(addedConnections); var topicsController = new TopicsController(unitOfWork.Object, mockEmailService.Object, mockManager.Object); var result = await topicsController.PostControllerAsync(postDto); Assert.AreEqual("success", result); }
public async Task Post_AddsConnectionsAndCallsEmailServiceAsync() { var addedConnections = new List <connection_user_topic>(); var removedConnections = new List <connection_user_topic>(); var postDto = SetupForPost(addedConnections); var toSubscribe = new List <int> { 1, 2 }; postDto.To_Subscribe = toSubscribe; var topicsController = new TopicsController(unitOfWork.Object, mockEmailService.Object, mockManager.Object); await topicsController.PostControllerAsync(postDto); Assert.AreEqual(toSubscribe.Count, addedConnections.Count); Assert.AreEqual(toSubscribe[0], addedConnections[0].TopicID); Assert.AreEqual(toSubscribe[1], addedConnections[1].TopicID); Assert.AreEqual(user.Id, addedConnections[0].AspNetUserID); mockEmailService.Verify(x => x.SendNecessaryArticlesToUser(It.IsAny <AspNetUser>(), It.IsAny <int>()), Times.Exactly(toSubscribe.Count)); }