public void Add_AddsEmployeeAndReturnsARedirect_WhenModelStateIsValid() { //Arrange var mockCPUCoolerService = new Mock <IService <IRepository <CPUCooler>, CPUCooler> >(); mockCPUCoolerService.Setup(repo => repo.GetByIdAsync(1)).ReturnsAsync(GetCPUCooler()) .Verifiable(); var httpContext = new DefaultHttpContext(); var tempData = new TempDataDictionary(httpContext, Mock.Of <ITempDataProvider>()); var controller = new CPUCoolersController(mockCPUCoolerService.Object) { TempData = tempData }; controller.ModelState.AddModelError("Quantity", "Required"); var inputModel = new PCItemInputModel() { Id = 1, Quantity = 1 }; // Act var result = controller.Add(inputModel); // Assert Assert.IsType <JsonResult>(result.Result); mockCPUCoolerService.Verify(); }
public void Add_ReturnsBadRequestResult_WhenModelStateIsInvalid() { // Arrange var mockCPUCoolerService = new Mock <IService <IRepository <CPUCooler>, CPUCooler> >(); var inputModel = new PCItemInputModel() { Id = 0, Quantity = 0 }; var controller = new CPUCoolersController(mockCPUCoolerService.Object); controller.ModelState.AddModelError("Quantity", "Required"); // Act var result = controller.Add(inputModel); // Assert var badRequestResult = Assert.IsType <BadRequestResult>(result.Result); }
public async Task Index_ReturnsAViewResult_WithAListOfCPUCoolers() { // Arrange var mockCPUCoolerService = new Mock <IService <IRepository <CPUCooler>, CPUCooler> >(); mockCPUCoolerService.Setup(repo => repo.GetAllAsync()) .ReturnsAsync(GetTestCPUCoolers()); var controller = new CPUCoolersController(mockCPUCoolerService.Object); // Act var result = await controller.Index(); // Assert var viewResult = Assert.IsType <ViewResult>(result); var model = Assert.IsAssignableFrom <IEnumerable <CPUCooler> >( viewResult.ViewData.Model); Assert.Equal(2, model.Count()); }