public void RenderTheRightViewWithTheCorrectModel_SearchFoodCategoryViewModelAndNoModelErrors() { //Arrange IEnumerable <FoodCategory> foodCategories = new List <FoodCategory>(); var foodCategorieServiceMock = new Mock <IFoodCategoriesService>(); foodCategorieServiceMock.Setup(x => x.GetAllFoodCategories()).Returns(foodCategories); var mappingServiceMock = new Mock <IMappingService>(); var foodCategoriesModel = new List <FoodCategoryViewModel>(); var gridPageSize = 5; foreach (var foodCategory in foodCategories) { mappingServiceMock.Setup(x => x.Map <FoodCategoryViewModel>(foodCategory)).Returns(It.IsAny <FoodCategoryViewModel>()); } var controller = new FoodCategoriesController(foodCategorieServiceMock.Object, mappingServiceMock.Object); var searchModel = new SearchFoodCategoryViewModel(); searchModel.FoodCategories = foodCategoriesModel; searchModel.PageSize = gridPageSize; searchModel.TotalRecords = foodCategoriesModel.Count(); //Act & Assert controller.WithCallTo(x => x.Index()) .ShouldRenderView("Index") .WithModel <SearchFoodCategoryViewModel>() .AndNoModelErrors(); }
public void RedirectToActionIndex_WithTheCorrectModel__WhenModelStateIsValid() { //Arrange var foodCategoriesServiceMock = new Mock <IFoodCategoriesService>(); var mappingServiceMock = new Mock <IMappingService>(); var controller = new FoodCategoriesController(foodCategoriesServiceMock.Object, mappingServiceMock.Object); AddFoodCategoryViewModel foodCategoryModel = new AddFoodCategoryViewModel(); foodCategoryModel.Name = "Tomatos"; var foodcategoryId = Guid.NewGuid(); foodCategoryModel.FoodType = FoodType.Cheese; foodCategoryModel.MeasuringUnit = MeasuringUnitType.Kg; var validationContext = new ValidationContext(foodCategoryModel, null, null); var validationResults = new List <ValidationResult>(); Validator.TryValidateObject(foodCategoryModel, validationContext, validationResults, true); foreach (var validationResult in validationResults) { controller.ModelState.AddModelError(validationResult.MemberNames.First(), validationResult.ErrorMessage); } //Act & Assert controller.WithCallTo(x => x.AddFoodCategory(foodCategoryModel)) .ShouldRedirectTo(x => x.Index()); }
public void RenderTheRightPartialView() { //Arrange IEnumerable <FoodCategory> foodCategories = new List <FoodCategory>(); var foodCategorieServiceMock = new Mock <IFoodCategoriesService>(); foodCategorieServiceMock.Setup(x => x.GetAllFoodCategories()).Returns(foodCategories); var mappingServiceMock = new Mock <IMappingService>(); var foodCategoriesModel = new List <FoodCategoryViewModel>(); var gridPageSize = 5; string name = "Tomato"; foreach (var foodCategory in foodCategories) { mappingServiceMock.Setup(x => x.Map <FoodCategoryViewModel>(foodCategory)).Returns(It.IsAny <FoodCategoryViewModel>()); } var controller = new FoodCategoriesController(foodCategorieServiceMock.Object, mappingServiceMock.Object); var searchModel = new SearchFoodCategoryViewModel(); searchModel.FoodCategories = foodCategoriesModel; searchModel.PageSize = gridPageSize; searchModel.TotalRecords = foodCategoriesModel.Count(); //Act & Assert controller.WithCallTo(x => x.Search(name)).ShouldRenderPartialView("_FoodCategoriesGridPartial"); }
public void RedirectToActionIndex_WithTheCorrectModel__WhenModelStateIsValid() { //Arrange var foodCategoriesServiceMock = new Mock <IFoodCategoriesService>(); var mappingServiceMock = new Mock <IMappingService>(); var controller = new FoodCategoriesController(foodCategoriesServiceMock.Object, mappingServiceMock.Object); Guid id = Guid.NewGuid(); string name = "Tomatos"; FoodType foodType = FoodType.Vegetable; MeasuringUnitType measuringUnit = MeasuringUnitType.Kg; var foodcategory = new FoodCategory() { Id = id, Name = name, FoodType = foodType, MeasuringUnit = measuringUnit }; foodCategoriesServiceMock.Setup(x => x.GetFoodCategoryById(id)).Returns(foodcategory); var model = new FoodCategoryViewModel(); model.Id = foodcategory.Id; model.Name = foodcategory.Name; model.FoodType = foodcategory.FoodType; model.MeasuringUnit = foodcategory.MeasuringUnit; mappingServiceMock.Setup(x => x.Map <FoodCategoryViewModel>(foodcategory)).Returns(model); //Act & Assert controller.WithCallTo(x => x.EditFoodCategory(model)) .ShouldRedirectTo(x => x.Index()); }
public void RenderTheRightView_EditFoodCategory_WhenValidGuidIdIsPassed() { //Arrange var foodCategoriesServiceMock = new Mock <IFoodCategoriesService>(); var mappingServiceMock = new Mock <IMappingService>(); var controller = new FoodCategoriesController(foodCategoriesServiceMock.Object, mappingServiceMock.Object); var id = Guid.NewGuid(); var name = "Tomatos"; var foodType = FoodType.Vegetable; var measuringUnit = MeasuringUnitType.Kg; var foodcategory = new FoodCategory() { Id = id, Name = name, FoodType = foodType, MeasuringUnit = measuringUnit }; foodCategoriesServiceMock.Setup(x => x.GetFoodCategoryById(id)).Returns(foodcategory); var model = new FoodCategoryViewModel(); model.Id = foodcategory.Id; model.Name = foodcategory.Name; model.FoodType = foodcategory.FoodType; model.MeasuringUnit = foodcategory.MeasuringUnit; mappingServiceMock.Setup(x => x.Map <FoodCategoryViewModel>(foodcategory)).Returns(model); //Act & Assert controller.WithCallTo(x => x.EditFoodCategory(id)) .ShouldRenderView("EditFoodCategory") .WithModel(model); }
public void RedirectToActionIndex__WhenFoodCategoryIsSuccessfullyDeleted() { //Arrange var foodCategoriesServiceMock = new Mock <IFoodCategoriesService>(); var mappingServiceMock = new Mock <IMappingService>(); var controller = new FoodCategoriesController(foodCategoriesServiceMock.Object, mappingServiceMock.Object); var id = Guid.NewGuid(); string name = null; FoodType foodType = FoodType.Vegetable; MeasuringUnitType measuringUnit = MeasuringUnitType.Kg; var foodcategory = new FoodCategory() { Id = id, Name = name, FoodType = foodType, MeasuringUnit = measuringUnit }; foodCategoriesServiceMock.Setup(x => x.GetFoodCategoryById(id)).Returns(foodcategory); foodCategoriesServiceMock.Setup(x => x.DeleteFoodCategory(foodcategory)); //Act & Assert controller.WithCallTo(x => x.DeleteFoodCategoryConfirm(id)) .ShouldRedirectTo(x => x.Index()); }
public void Get_return_category_by_name_bad_test() { FoodCategoriesController controller = GetFoodCategoriesController(doNotThrowException); var response = controller.Get("Invalid category"); Assert.AreEqual("BadRequestObjectResult", response.GetType().Name); }
public void Get_return_all_categories_test() { FoodCategoriesController controller = GetFoodCategoriesController(doNotThrowException); OkObjectResult response = controller.Get() as OkObjectResult; var categories = response.Value as FoodsCategoriesResponse; Assert.AreEqual(2, categories.FoodCategories.Count); }
public void Get_return_category_by_name_catch_exception() { FoodCategoriesController controller = GetFoodCategoriesController(throwException); var response = controller.Get("Category") as BadRequestObjectResult; var message = response.Value.GetType().Name; Assert.AreEqual("Exception", message); }
public void Get_return_category_by_name_ok_test() { FoodCategoriesController controller = GetFoodCategoriesController(doNotThrowException); OkObjectResult result = controller.Get("Food category") as OkObjectResult; FoodsCategoriesResponse responseValue = result.Value as FoodsCategoriesResponse; Assert.IsTrue(responseValue.IsValid); }
public void RenderTheRightView_AddFoodCategory() { //Arrange var foodCategoriesServiceMock = new Mock <IFoodCategoriesService>(); var mappingServiceMock = new Mock <IMappingService>(); var controller = new FoodCategoriesController(foodCategoriesServiceMock.Object, mappingServiceMock.Object); //Act & Assert controller.WithCallTo(x => x.AddFoodCategory()).ShouldRenderView("AddFoodCategory"); }
public void RedirectToErrorPage_When_IdGuidIsNotValid() { //Arrange var foodCategoriesServiceMock = new Mock <IFoodCategoriesService>(); var mappingServiceMock = new Mock <IMappingService>(); var controller = new FoodCategoriesController(foodCategoriesServiceMock.Object, mappingServiceMock.Object); //Act & Assert controller.WithCallTo(x => x.EditFoodCategory(Guid.Empty)) .ShouldRenderView("404.html"); }
public void Create_bad_test() { EditedFoodCategory category = new EditedFoodCategory() { Name = "Category invalid test" }; FoodCategoriesController controller = GetFoodCategoriesController(doNotThrowException); var response = controller.Create(category).GetType().Name; Assert.AreEqual("BadRequestObjectResult", response); }
public void Create_catch_exception() { EditedFoodCategory category = new EditedFoodCategory() { Name = "Exception" }; FoodCategoriesController controller = GetFoodCategoriesController(throwException); var response = controller.Create(category) as BadRequestObjectResult; var message = response.Value.GetType().Name; Assert.AreEqual("Exception", message); }
public void RenderTheRightView_DeleteFoodCategory__WhenFoodCategoryWasNotFoundInDatabase() { //Arrange var foodCategoriesServiceMock = new Mock <IFoodCategoriesService>(); var mappingServiceMock = new Mock <IMappingService>(); var controller = new FoodCategoriesController(foodCategoriesServiceMock.Object, mappingServiceMock.Object); var id = Guid.NewGuid(); foodCategoriesServiceMock.Setup(x => x.GetFoodCategoryById(id)).Returns <FoodCategory>(null); //Act & Assert controller.WithCallTo(x => x.DeleteFoodCategory(id)) .ShouldRenderView("DeleteFoodCategory"); }
public void RenderTheRightPartialViewWithTheCorrectModel_SearchFoodCategoryViewModelAndNoModelErrorsAndCorrectContent() { //Arrange IEnumerable <FoodCategory> foodCategories = new List <FoodCategory>() { new FoodCategory() { Name = "tomato" } }; var gridPageSize = 5; string name = "Tomato"; var foodCategorieServiceMock = new Mock <IFoodCategoriesService>(); foodCategorieServiceMock.Setup(x => x.GetAllFoodCategories()).Returns(foodCategories); var mappingServiceMock = new Mock <IMappingService>(); var foodCategoriesModel = new List <FoodCategoryViewModel>() { new FoodCategoryViewModel() { Name = name } }; foreach (var foodCategory in foodCategories) { mappingServiceMock.Setup(x => x.Map <FoodCategoryViewModel>(foodCategory)) .Returns(It.IsAny <FoodCategoryViewModel>()); } var controller = new FoodCategoriesController(foodCategorieServiceMock.Object, mappingServiceMock.Object); var searchModel = new SearchFoodCategoryViewModel(); searchModel.FoodCategories = foodCategoriesModel; searchModel.PageSize = gridPageSize; searchModel.TotalRecords = foodCategoriesModel.Count(); //Act & Assert controller.WithCallTo(x => x.Search(name)) .ShouldRenderPartialView("_FoodCategoriesGridPartial") .WithModel <SearchFoodCategoryViewModel>( viewModel => Assert.AreEqual(foodCategoriesModel.ToList()[0].Name, searchModel.FoodCategories.ToList()[0].Name)) .AndNoModelErrors(); }
public void RenderTheRightView_EditFoodCategory_WithTheCorrectModel_FoodCategoryViewModel_WhenModelStateIsNotValid() { //Arrange var foodCategoriesServiceMock = new Mock <IFoodCategoriesService>(); var mappingServiceMock = new Mock <IMappingService>(); var controller = new FoodCategoriesController(foodCategoriesServiceMock.Object, mappingServiceMock.Object); Guid id = Guid.NewGuid(); string name = null; FoodType foodType = FoodType.Vegetable; MeasuringUnitType measuringUnit = MeasuringUnitType.Kg; var foodcategory = new FoodCategory() { Id = id, Name = name, FoodType = foodType, MeasuringUnit = measuringUnit }; foodCategoriesServiceMock.Setup(x => x.GetFoodCategoryById(id)).Returns(foodcategory); var model = new FoodCategoryViewModel(); model.Id = foodcategory.Id; model.Name = foodcategory.Name; model.FoodType = foodcategory.FoodType; model.MeasuringUnit = foodcategory.MeasuringUnit; mappingServiceMock.Setup(x => x.Map <FoodCategoryViewModel>(foodcategory)).Returns(model); var validationContext = new ValidationContext(model, null, null); var validationResults = new List <ValidationResult>(); Validator.TryValidateObject(model, validationContext, validationResults, true); foreach (var validationResult in validationResults) { controller.ModelState.AddModelError(validationResult.MemberNames.First(), validationResult.ErrorMessage); } //Act & Assert controller.WithCallTo(x => x.EditFoodCategory(model)) .ShouldRenderView("EditFoodCategory") .WithModel <FoodCategoryViewModel>() .AndModelError("Name"); }