public void AddCake_ReturnsIActionResult_Success() { //Arrange var cake = new Cake { Id = 1, Name = "Royal Cake", Category = new Category { Id = 1, Name = "CiocolateCake" }, Description = "Best cake", ImageUrl = "/img/img1.jpg", }; var mockRepositoryWrapper = new Mock <IRepositoryWrapper>(); mockRepositoryWrapper.Setup(repo => repo.Cake.GetByIdAsync(cake.Id)); var mockAdministrationService = new Mock <IAdministrationService>(); var controller = new AdministrationController(mockRepositoryWrapper.Object, mockAdministrationService.Object); //Act var result = controller.AddCake(cake); //Asseet var iactionResult = Assert.IsAssignableFrom <IActionResult>(result.Result); Assert.NotNull(result.Result); Assert.NotNull(iactionResult); }
public void AddCake_ReturnsBadRequest_Problem() { // Arrange var mockRepositoryWrapper = new Mock <IRepositoryWrapper>(); var mockAdministrationService = new Mock <IAdministrationService>(); var controller = new AdministrationController(mockRepositoryWrapper.Object, mockAdministrationService.Object); controller.ModelState.AddModelError("Name", "Too long"); var newCake = new Cake { Id = 1, Name = "Royal Cake", Category = new Category { Id = 1, Name = "CiocolateCake" }, Description = "Best cake", ImageUrl = "/img/img1.jpg", IsCakeOfTheWeek = true, Price = 10, Weigth = "12", Stock = 15 }; // Act var result = controller.AddCake(newCake); // Assert var badRequestResult = Assert.IsType <BadRequestObjectResult>(result.Result); Assert.IsType <SerializableError>(badRequestResult.Value); }
public void AddCake_ReturnsAddCakeViewModel_Success() { // Arrange var categoryList = new List <Category> { new Category { Id = 1, Name = "VanillaCakes" } }; var mockRepositoryWrapper = new Mock <IRepositoryWrapper>(); mockRepositoryWrapper.Setup(repo => repo.Category.GetAllAsync()).Returns(Task.FromResult(categoryList)); var mockAdministrationService = new Mock <IAdministrationService>(); var controller = new AdministrationController(mockRepositoryWrapper.Object, mockAdministrationService.Object); // Act var result = controller.AddCake(); // Assert var addCakeViewModelResult = Assert.IsType <Task <AddCakeViewModel> >(result); Assert.NotNull(addCakeViewModelResult); Assert.NotNull(result.Result); }