Exemplo n.º 1
0
        public void GalleryItems_ShouldCallIteServiceGetItemsOfType_TimesOnce_WhenTypeIsNull()
        {
            //Arange
            GalleryItemsViewModel model = new GalleryItemsViewModel();
            int    pageNumber           = 10;
            string type     = "Necklace";
            var    items    = new List <Item>();
            var    colour   = MainColourType.Red;
            var    material = MainMaterialType.Swarovski;

            this.itemServiceMock.Setup(i => i.GetItemsOfTypeCount(It.IsAny <ItemType>(), colour, material)).Returns(It.Is <int>(c => c >= 0));
            this.itemServiceMock.Setup(i => i.GetItemsOfType(
                                           pageNumber,
                                           It.Is <ItemType>(t => t.ToString() == type),
                                           It.IsAny <MainColourType>(),
                                           It.IsAny <MainMaterialType>())).Returns(items);

            var itemsController = new ItemsController(this.itemServiceMock.Object, this.mappingServiceMock.Object, this.imageProviderMock.Object);

            // Act
            var viewResult = itemsController.GalleryItems(model, pageNumber, type) as ViewResult;

            // Assert
            this.itemServiceMock.Verify(i => i.GetItemsOfType(
                                            pageNumber,
                                            It.Is <ItemType>(t => t.ToString() == type),
                                            It.IsAny <MainColourType>(),
                                            It.IsAny <MainMaterialType>()), Times.Once);
        }
Exemplo n.º 2
0
        public void GalleryItemsPromotions_ShouldCallIteServiceGetItemsInPromotion_WhenAllParametersAreValid()
        {
            //Arange
            GalleryItemsViewModel model = new GalleryItemsViewModel();
            int pageNumber = 10;
            var items      = new List <Item>();
            var colour     = MainColourType.Red;
            var material   = MainMaterialType.Swarovski;

            this.itemServiceMock.Setup(i => i.GetAllItemsInPromotionCount(colour, material)).Returns(It.Is <int>(c => c >= 0));
            this.itemServiceMock.Setup(i => i.GetItemsInPromotion(
                                           pageNumber,
                                           It.IsAny <MainColourType>(),
                                           It.IsAny <MainMaterialType>())).Returns(items);

            var itemsController = new ItemsController(this.itemServiceMock.Object, this.mappingServiceMock.Object, this.imageProviderMock.Object);

            // Act
            var viewResult = itemsController.GalleryItemsPromotions(model, pageNumber) as ViewResult;

            // Assert
            this.itemServiceMock.Verify(i => i.GetItemsInPromotion(
                                            pageNumber,
                                            It.IsAny <MainColourType>(),
                                            It.IsAny <MainMaterialType>()), Times.Once);
        }
Exemplo n.º 3
0
        public void GalleryItemsPromotions_ShouldThrowArgumentOutOfRangeException_WhenZeroPageNumberIsPassed()
        {
            //Arange
            var itemsController         = new ItemsController(this.itemServiceMock.Object, this.mappingServiceMock.Object, this.imageProviderMock.Object);
            GalleryItemsViewModel model = new GalleryItemsViewModel();
            int invalidPageNumber       = 0;

            //Act & Assert
            var viewResult = itemsController.GalleryItemsPromotions(model, invalidPageNumber) as ViewResult;
        }
Exemplo n.º 4
0
        public void GalleryItems_ShouldThrowArgumentOutOfRangeException_WhenNegativePageNumberIsPassed()
        {
            //Arange
            var itemsController         = new ItemsController(this.itemServiceMock.Object, this.mappingServiceMock.Object, this.imageProviderMock.Object);
            GalleryItemsViewModel model = new GalleryItemsViewModel();
            int    invalidPageNumber    = -91;
            string type = "Necklace";

            //Act & Assert
            var viewResult = itemsController.GalleryItems(model, invalidPageNumber, type) as ViewResult;
        }
Exemplo n.º 5
0
        public void SingleItem_ShouldThrowArgumentOutOfRangeException_WhenNegativeItemIdIsPassed()
        {
            //Arange
            var itemsController = new ItemsController(this.itemServiceMock.Object, this.mappingServiceMock.Object, this.imageProviderMock.Object);

            GalleryItemsViewModel model = new GalleryItemsViewModel();
            int invalidItemId           = -10;

            //Act & Assert
            var viewResult = itemsController.GalleryItemsNew(model, invalidItemId) as ViewResult;
        }
Exemplo n.º 6
0
        public void GalleryItems_ShouldThrowArgumentNullException_WhenTypeIsNull()
        {
            //Arange
            var itemsController         = new ItemsController(this.itemServiceMock.Object, this.mappingServiceMock.Object, this.imageProviderMock.Object);
            GalleryItemsViewModel model = new GalleryItemsViewModel();
            int    pageNumber           = 10;
            string type = null;

            //Act & Assert
            var viewResult = itemsController.GalleryItems(model, pageNumber, type) as ViewResult;
        }
Exemplo n.º 7
0
        public void GalleryItemsPromotions_ShouldReturnViewNotNull()
        {
            //Arange
            var itemsController         = new ItemsController(this.itemServiceMock.Object, this.mappingServiceMock.Object, this.imageProviderMock.Object);
            GalleryItemsViewModel model = new GalleryItemsViewModel();
            int pageNumber = 1;

            //Act
            var viewResult = itemsController.GalleryItemsPromotions(model, pageNumber) as ViewResult;

            //Assert
            Assert.IsNotNull(viewResult);
        }
Exemplo n.º 8
0
        public ActionResult GalleryItemsPromotions(GalleryItemsViewModel model, int pageNumber)
        {
            Validator.ValidateNullArgument(model, "model");
            Validator.ValidateRange(pageNumber, 1, int.MaxValue, "pageNumber");

            var itemsCount    = this.itemService.GetAllItemsInPromotionCount(model.Colour, model.Material);
            var dbItemsList   = this.itemService.GetItemsInPromotion(pageNumber, model.Colour, model.Material);
            var viewItemsList = this.ConvertToViewItemList(dbItemsList);

            model.GalleryTitle     = ServerConstants.GalleryPromotionItemsHeader;
            model.PageButtonsCount = this.CalculatePageNumberButtonsCount(itemsCount);
            model.ItemsList        = viewItemsList;

            ViewData["controllerName"] = "GalleryItemsPromotions";

            return(View("GalleryItems", model));
        }
Exemplo n.º 9
0
        public ActionResult GalleryItems(GalleryItemsViewModel model, int pageNumber, string type)
        {
            Validator.ValidateNullArgument(model, "model");
            Validator.ValidateRange(pageNumber, 1, int.MaxValue, "pageNumber");
            Validator.ValidateNullArgument(type, "type");

            ItemType itemType = (ItemType)Enum.Parse(typeof(ItemType), type, true);

            var itemsOfTypeCount = this.itemService.GetItemsOfTypeCount(itemType, model.Colour, model.Material);
            var dbItemsList      = this.itemService.GetItemsOfType(pageNumber, itemType, model.Colour, model.Material);
            var viewItemsList    = this.ConvertToViewItemList(dbItemsList);

            model.GalleryTitle     = this.SetViewTitleFormItemType(itemType);
            model.PageButtonsCount = this.CalculatePageNumberButtonsCount(itemsOfTypeCount);
            model.ItemsList        = viewItemsList;
            model.ItemType         = type;

            ViewData["controllerName"] = "GalleryItems";

            return(View(model));
        }