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); }
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); }