示例#1
0
        public void CreateGetShouldHaveNoViewModel()
        {
            var result = ControllerUnderTest.Create();

            var viewResult = Assert.IsType <ViewResult>(result);

            Assert.Null(viewResult.ViewData.Model);
        }
示例#2
0
        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);
        }
示例#3
0
        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);
        }
示例#4
0
        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);
            }
示例#6
0
        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);
            }