Exemplo n.º 1
0
        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);
            }
                );
        }
Exemplo n.º 2
0
 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();
     }
 }
Exemplo n.º 3
0
        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);
        }
Exemplo n.º 4
0
        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);
        }
Exemplo n.º 5
0
        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);
        }
Exemplo n.º 6
0
        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());
        }
Exemplo n.º 7
0
        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"]);
        }
Exemplo n.º 8
0
        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);
            });
        }
Exemplo n.º 9
0
 public void Add(RentItemDtoModel item)
 {
     base.Add(mapper.Map <RentItem>(item));
 }