public void ReturnViewWithModelWithCorrectProperties() { // Arrange var mockedCategoryService = new Mock <ICategoryService>(); var mockedRentItemyService = new Mock <IRentItemService>(); var categoryModel = new CategoryDtoModel() { ID = Guid.NewGuid(), Name = "FakeName" }; var mockedList = new List <CategoryDtoModel>() { categoryModel }; mockedCategoryService.Setup(m => m.GetAllCategories()).Returns(mockedList); var stubRecentItems = new List <RentItemDtoModel>(); var stubModel = new RentItemDtoModel { AvailableFrom = new DateTime(2017, 03, 26), AvailableTo = new DateTime(2017, 04, 26), CategoryId = Guid.NewGuid().ToString(), Description = "test description", Images = new List <ImagesDtoModel>(), ItemId = Guid.NewGuid().ToString(), Location = "SomeLocation", Name = "FakeName", OwnerId = Guid.NewGuid().ToString(), Price = 10.2m }; stubRecentItems.Add(stubModel); mockedRentItemyService.Setup(x => x.Recent(10)).Returns(stubRecentItems); // Act & Assert HomeController homeController = new HomeController(mockedCategoryService.Object, mockedRentItemyService.Object); homeController .WithCallTo(c => c.Index()) .ShouldRenderDefaultView() .WithModel <HomeViewModel>( v => { Assert.AreEqual(stubModel.AvailableFrom, v.RecentItems.First().AvailableFrom); Assert.AreEqual(stubModel.AvailableTo, v.RecentItems.First().AvailableTo); Assert.AreEqual(stubModel.CategoryId, v.RecentItems.First().CategoryId); Assert.AreEqual(stubModel.Description, v.RecentItems.First().Description); Assert.AreEqual(stubModel.ItemId, v.RecentItems.First().ItemId); Assert.AreEqual(stubModel.Location, v.RecentItems.First().Location); Assert.AreEqual(stubModel.Name, v.RecentItems.First().Name); Assert.AreEqual(stubModel.OwnerId, v.RecentItems.First().OwnerId); Assert.AreEqual(stubModel.Price, v.RecentItems.First().Price); } ); }
public void Add(RentItemDtoModel item, IList <ImagesDtoModel> imageCollection) { using (base.UnitOfWork) { var itemDb = mapper.Map <RentItem>(item); base.Repository.Add(itemDb); foreach (var image in imageCollection) { var imageDb = mapper.Map <Image>(image); imageDb.RentItem = itemDb; itemDb.Images.Add(imageDb); } base.UnitOfWork.Commit(); } }
public void CallsMapperMapOnceWithSameRentItemDtoModel() { //Arrange var mockeRepository = new Mock <IGenericEfRepository <RentItem> >(); var mockedUnitOfWork = new Mock <IUnitOfWork>(); var mockedMapper = new Mock <IMapingService>(); var RentItemDtoModelStub = new RentItemDtoModel(); mockedMapper.Setup(x => x.Map <RentItem>(RentItemDtoModelStub)).Verifiable(); var rentItemService = new RentItemService(mockeRepository.Object, mockedUnitOfWork.Object, mockedMapper.Object); //Act rentItemService.Add(RentItemDtoModelStub); //Assert mockedMapper.Verify(x => x.Map <RentItem>(It.Is <RentItemDtoModel>(y => y.Equals(RentItemDtoModelStub))), Times.Once); }
public void CallGetAllOnce() { //Arrange var mockeRepository = new Mock <IGenericEfRepository <RentItem> >(); mockeRepository.Setup(x => x.GetAll()).Returns(new List <RentItem>().AsQueryable()).Verifiable(); var mockedUnitOfWork = new Mock <IUnitOfWork>(); var mockedMapper = new Mock <IMapingService>(); var RentItemDtoModelStub = new RentItemDtoModel(); var rentItemService = new RentItemService(mockeRepository.Object, mockedUnitOfWork.Object, mockedMapper.Object); //Act rentItemService.TotalPages(); //Assert mockeRepository.Verify(x => x.GetAll(), Times.Once); }
public void CallsRepositoryGetByIdOnceWithSameId() { //Arrange var mockeRepository = new Mock <IGenericEfRepository <RentItem> >(); var stubId = Guid.NewGuid(); mockeRepository.Setup(x => x.GetById(stubId)).Verifiable(); var mockedUnitOfWork = new Mock <IUnitOfWork>(); var mockedMapper = new Mock <IMapingService>(); var RentItemDtoModelStub = new RentItemDtoModel(); var rentItemService = new RentItemService(mockeRepository.Object, mockedUnitOfWork.Object, mockedMapper.Object); //Act rentItemService.GetRentItemById(stubId); //Assert mockeRepository.Verify(x => x.GetById(It.Is <Guid>(y => y == stubId)), Times.Once); }
public void ShouldRightTotalPages() { //TODO Ask Viktor how more precisly to test here! //Arrange var mockeRepository = new Mock <IGenericEfRepository <RentItem> >(); var rentItemsStub = new List <RentItem>() { new RentItem(), new RentItem(), new RentItem() }; mockeRepository.Setup(x => x.GetAll()).Returns(rentItemsStub.AsQueryable()); var mockedUnitOfWork = new Mock <IUnitOfWork>(); var mockedMapper = new Mock <IMapingService>(); var RentItemDtoModelStub = new RentItemDtoModel(); var rentItemService = new RentItemService(mockeRepository.Object, mockedUnitOfWork.Object, mockedMapper.Object); //Act & Asssert Assert.AreEqual(3, rentItemService.TotalPages()); }
public void RenderRentItemViewAndFillTempDataAndPreservsItAfterThreeCalls() { // Arrange var mockedCategoryService = new Mock <ICategoryService>(); var mockedRentItemyService = new Mock <IRentItemService>(); var searchViewModelStub = new SearchViewModel() { CategoryId = Guid.NewGuid(), StartDate = new DateTime(2017, 03, 20), EndDate = new DateTime(2017, 03, 26), Filter = "someFilter", LoginView = new LoginViewModel() }; var homeViewModelStub = new HomeViewModel() { Search = searchViewModelStub }; var stubReturnModel = new RentItemDtoModel(); var mockedViewModel = new List <RentItemDtoModel>() { stubReturnModel }; mockedRentItemyService.Setup(x => x.GetRentItems(searchViewModelStub.StartDate, searchViewModelStub.EndDate, searchViewModelStub.CategoryId, searchViewModelStub.Filter, 0)).Returns(mockedViewModel); RentItemsController sut = new RentItemsController(mockedCategoryService.Object, mockedRentItemyService.Object); // Act & Assert sut.WithCallTo(c => c.Search(homeViewModelStub, null)); Assert.IsNotNull(sut.TempData["model"]); sut.WithCallTo(c => c.Search(homeViewModelStub, null)); Assert.IsNotNull(sut.TempData["model"]); sut.WithCallTo(c => c.Search(homeViewModelStub, null)); Assert.IsNotNull(sut.TempData["model"]); }
public void RenderRentItemView(int id) { // Arrange var mockedCategoryService = new Mock <ICategoryService>(); var mockedRentItemyService = new Mock <IRentItemService>(); var searchViewModelStub = new SearchViewModel() { CategoryId = Guid.NewGuid(), StartDate = new DateTime(2017, 03, 20), EndDate = new DateTime(2017, 03, 26), Filter = "someFilter", LoginView = new LoginViewModel() }; var homeViewModelStub = new HomeViewModel() { Search = searchViewModelStub }; var stubReturnModel = new RentItemDtoModel { AvailableFrom = new DateTime(2017, 03, 26), AvailableTo = new DateTime(2017, 04, 26), CategoryId = Guid.NewGuid().ToString(), Description = "test description", Images = new List <ImagesDtoModel>(), ItemId = Guid.NewGuid().ToString(), Location = "SomeLocation", Name = "FakeName", OwnerId = Guid.NewGuid().ToString(), Price = 10.2m }; var mockedViewModel = new List <RentItemDtoModel>() { stubReturnModel }; mockedRentItemyService.Setup(x => x.GetRentItems(searchViewModelStub.StartDate, searchViewModelStub.EndDate, searchViewModelStub.CategoryId, searchViewModelStub.Filter, id - 1)).Returns(mockedViewModel); RentItemsController sut = new RentItemsController(mockedCategoryService.Object, mockedRentItemyService.Object); //sut.ControllerContext. // Act & Assert sut .WithCallTo(c => c.Search(homeViewModelStub, id)) .ShouldRenderPartialView("_RentItemsPartialView") .WithModel <List <RentItemDtoModel> >( v => { Assert.AreEqual(stubReturnModel.AvailableFrom, v.First().AvailableFrom); Assert.AreEqual(stubReturnModel.AvailableTo, v.First().AvailableTo); Assert.AreEqual(stubReturnModel.CategoryId, v.First().CategoryId); Assert.AreEqual(stubReturnModel.Description, v.First().Description); Assert.AreEqual(stubReturnModel.ItemId, v.First().ItemId); Assert.AreEqual(stubReturnModel.Location, v.First().Location); Assert.AreEqual(stubReturnModel.Name, v.First().Name); Assert.AreEqual(stubReturnModel.OwnerId, v.First().OwnerId); Assert.AreEqual(stubReturnModel.Price, v.First().Price); }); }
public void Add(RentItemDtoModel item) { base.Add(mapper.Map <RentItem>(item)); }