public void Index_ViewResult() { // Arrange int?daysToFree = 5; IEnumerable <Apartment> apartments = new List <Apartment>() { new Apartment { Name = "NewApartament", Renter = new User { FirstName = "Jeson" } } }; Mock <ApartmentRepository> mockApartamentRepository = new Mock <ApartmentRepository>(); mockApartamentRepository .Setup(ar => ar.Get(It.IsAny <Expression <Func <Apartment, bool> > >(), null, It.IsAny <string>(), It.IsAny <int>(), It.IsAny <int>())) .Returns(apartments); Mock <IUnitOfWork> mockUnitOfWork = new Mock <IUnitOfWork>(); mockUnitOfWork .Setup(uw => uw.GetRepository <Apartment, ApartmentRepository>()) .Returns(mockApartamentRepository.Object); Mock <IFileService> mockIFileService = new Mock <IFileService>(); ApartmentsController controller = new ApartmentsController(mockUnitOfWork.Object, mockIFileService.Object); // Act IActionResult result = controller.Index(daysToFree, isFree: null); // Assert Assert.NotNull(result); ViewResult viewResult = Assert.IsType <ViewResult>(result); Assert.NotNull(viewResult.Model); IndexViewModel indexViewModel = Assert.IsType <IndexViewModel>(viewResult.Model); Assert.Equal(apartments, indexViewModel.Apartments); Assert.Null(viewResult.ViewName); }
public void Index_ViewResult() { // Arrange IEnumerable <Apartment> apartments = new List <Apartment> { new Apartment { Id = 1 }, new Apartment { Id = 2 } }; Mock <ApartmentRepository> mockApartmentRepository = new Mock <ApartmentRepository>(); mockApartmentRepository .Setup(ar => ar.GetRandom(It.IsAny <int>())) .Returns(apartments); Mock <IUnitOfWork> mockUnitOfWork = new Mock <IUnitOfWork>(); mockUnitOfWork .Setup(u => u.GetRepository <Apartment, ApartmentRepository>()) .Returns(mockApartmentRepository.Object); ApartmentsController controller = new ApartmentsController(mockUnitOfWork.Object); // Act IActionResult result = controller.Index(); // Assert Assert.NotNull(result); ViewResult viewResult = Assert.IsType <ViewResult>(result); Assert.NotNull(viewResult.Model); IEnumerable <Apartment> apartmentsModel = Assert.IsAssignableFrom <IEnumerable <Apartment> >(viewResult.Model); Assert.Same(apartments, apartmentsModel); Assert.Null(viewResult.ViewName); }