public void CreateGetShouldHaveNoViewModel() { var result = ControllerUnderTest.Create(); var viewResult = Assert.IsType <ViewResult>(result); Assert.Null(viewResult.ViewData.Model); }
public async Task CreatePostShouldReturnRedirectToActionIndexIfModelIsValid() { var model = new CreateViewModel(); var result = await ControllerUnderTest.Create(model); var redirectResult = Assert.IsType <RedirectToActionResult>(result); Assert.Equal(nameof(ToDoController.Index), redirectResult.ActionName); }
public async Task CreatePostShouldCallAddItemAsyncOnceIfModelIsValid() { var model = new CreateViewModel() { Name = nameof(CreatePostShouldCallAddItemAsyncOnceIfModelIsValid) }; await ControllerUnderTest.Create(model); MockService.Verify(mock => mock.AddItemAsync(It.IsAny <ToDoItem>()), Times.Once); }
public async Task CreatePostShouldReturnCreateViewModelIfModelIsInvalid() { var model = new CreateViewModel(); ControllerUnderTest.ModelState.AddModelError("error", "testerror"); var result = await ControllerUnderTest.Create(model); var viewResult = Assert.IsType <ViewResult>(result); Assert.IsAssignableFrom <CreateViewModel>(viewResult.ViewData.Model); }
public async Task Get_Returns_ViewResult_With_DefaultWorkout() { // Arrange var expectedWork = default(WorkoutViewModel); // Act var result = await ControllerUnderTest.Create(); // Assert var viewResult = Assert.IsType <ViewResult>(result); Assert.Same(expectedWork, viewResult.Model); }
public async Task CreatePostShouldCallAddItemAsyncWithCorrectParameterIfModelIsValid() { var item = new ToDoItem() { Name = nameof(CreatePostShouldCallAddItemAsyncWithCorrectParameterIfModelIsValid) }; var model = new CreateViewModel() { Name = item.Name }; await ControllerUnderTest.Create(model); MockService.Verify(mock => mock.AddItemAsync(It.Is <ToDoItem>(i => i.Name.Equals(item.Name))), Times.Once); }
public async Task Post_Returns_ViewResult_When_ModelStateIsInvalid() { // Arrange var expectedWorkout = new WorkoutViewModel { Name = "Test workout 01" }; ControllerUnderTest.ModelState.AddModelError("Id", "Some error"); // Act var result = await ControllerUnderTest.Create(expectedWorkout); // Assert var viewResult = Assert.IsType <ViewResult>(result); Assert.IsType <WorkoutViewModel>(viewResult.Model); }
public async Task Post_Returns_RedirectToActionResult_When_ModelStateIsValid() { // Arrange const int id = 1; var expectedWorkout = new WorkoutViewModel { Name = "Test workout 01", Id = id }; const string expectedActionName = nameof(WorkoutsController.Index); WorkoutServiceMock .Setup(x => x.CreateAsync(expectedWorkout)) .Returns(Task.CompletedTask); // Act var result = await ControllerUnderTest.Create(expectedWorkout); // Assert var redirectToActionResult = Assert.IsType <RedirectToActionResult>(result); Assert.Equal(expectedActionName, redirectToActionResult.ActionName); }