public void RenderIndexView_WhenBuyTicketIsFalse() { // Arrange var userService = new Mock <IUserService>(); var mappingService = new Mock <IMappingService>(); var ticketController = new TicketController(userService.Object, mappingService.Object); var userId = "userId"; ticketController.GetLoggedUserId = () => userId; var flights = new List <DetailsFlightViewModel>() { new DetailsFlightViewModel() { Id = 1 }, new DetailsFlightViewModel() { Id = 2 }, new DetailsFlightViewModel() { Id = 3 }, }; ticketController.TempData["Ticket"] = flights; var mappingPresentationFlightResult = new PresentationFlight(It.IsAny <int>(), It.IsAny <string>(), It.IsAny <string>(), It.IsAny <string>(), It.IsAny <string>(), It.IsAny <DateTime>(), It.IsAny <DateTime>(), It.IsAny <decimal>(), It.IsAny <string>(), It.IsAny <int>()); mappingService.Setup(m => m.Map <PresentationFlight>(It.IsAny <DetailsFlightViewModel>())).Returns(mappingPresentationFlightResult); userService.Setup(u => u.BuyTicket(It.IsAny <string>(), It.IsAny <IEnumerable <PresentationFlight> >())).Returns(false); // Act and Assert ticketController .WithCallTo(t => t.Buy()) .ShouldRenderView("Index"); }
public void CallBuyTicketOnUserServiceWithEpectedParameters(string currentUserId) { // Arrange var userService = new Mock <IUserService>(); var mappingService = new Mock <IMappingService>(); var ticketController = new TicketController(userService.Object, mappingService.Object); var userId = "userId"; ticketController.GetLoggedUserId = () => userId; var flights = new List <DetailsFlightViewModel>() { new DetailsFlightViewModel() { Id = 1 }, new DetailsFlightViewModel() { Id = 2 }, new DetailsFlightViewModel() { Id = 3 }, }; ticketController.TempData["Ticket"] = flights; var mappingPresentationFlightResult = new PresentationFlight(It.IsAny <int>(), It.IsAny <string>(), It.IsAny <string>(), It.IsAny <string>(), It.IsAny <string>(), It.IsAny <DateTime>(), It.IsAny <DateTime>(), It.IsAny <decimal>(), It.IsAny <string>(), It.IsAny <int>()); mappingService.Setup(m => m.Map <PresentationFlight>(It.IsAny <DetailsFlightViewModel>())).Returns(mappingPresentationFlightResult); // Act ticketController.Buy(); // Assert userService.Verify(u => u.BuyTicket(userId, It.Is <IEnumerable <PresentationFlight> >(p => p.Count() == flights.Count)), Times.Once); }