示例#1
0
        public async Task UpdateProduct_PostAction_NotValidModel_Success()
        {
            //Arrange
            productController.ModelState.AddModelError("", "");
            IEnumerable <SelectListItem> brandListItem = new List <SelectListItem> {
                new SelectListItem(), new SelectListItem()
            };
            var parts = new List <Part> {
                new Part(), new Part()
            };
            var product = new Models.CatalogProduct {
                Id = productId, Reference = ""
            };

            catalogService.Setup(x => x.GetProduct(productId)).Returns(Task.FromResult(product));
            catalogService.Setup(x => x.GetBrandListItem()).Returns(Task.FromResult(brandListItem));
            warehouseService.Setup(x => x.GetProductParts("")).Returns(Task.FromResult(parts));

            //Act
            var action = await productController.UpdateProduct(product) as ViewResult;

            var model = action.Model as PostPutProductViewModel;

            //Assert
            Assert.Equal(brandListItem, model.Brand);
            Assert.Equal(productId, model.Product.Id);
            Assert.Equal(parts.Count, model.Parts.Count);
        }
示例#2
0
        public async Task UpdateProduct_PostAction_ValidModel_Success()
        {
            //Arrange
            var product = new Models.CatalogProduct {
                Id = productId, Reference = ""
            };

            //Act
            var action = await productController.UpdateProduct(product) as RedirectToActionResult;

            //Assert
            Assert.Equal("Index", action.ActionName);
            catalogService.Verify(x => x.UpdateProduct(product), Times.Once);
        }