Beispiel #1
0
        public async Task CreateTodoItem_Should_ThrowException_WhenSaveFails()
        {
            // Arrange
            var model = new Models.TodoItemToCreate
            {
                Title = "Test item"
            };

            _serviceMock.Setup(x => x.Create(It.IsAny <TodoItem>())).ReturnsAsync(false);

            // Act && Assert
            await Assert.ThrowsAsync <ApiException>(() => _controller.CreateTodoItem(model));
        }
Beispiel #2
0
        public async Task CreateTodoItem_Should_ReturnCreated()
        {
            // Arrange
            var model = new Models.TodoItemToCreate
            {
                Title = "Test item"
            };

            _serviceMock.Setup(x => x.Create(It.IsAny <TodoItem>())).ReturnsAsync(true);

            // Act
            var result = await _controller.CreateTodoItem(model);

            // Assert
            Assert.IsType <ActionResult <Models.TodoItem> >(result);
            Assert.IsType <CreatedAtRouteResult>(result.Result);
        }
Beispiel #3
0
        public async Task CreateTodoItem_Should_ReturnUnprocessableEntity()
        {
            // Arrange
            var model = new Models.TodoItemToCreate
            {
                Description = "Test item"
            };

            _controller.ModelState.AddModelError(nameof(Models.TodoItemToCreate.Title), "Title is a required field");

            // Act
            var result = await _controller.CreateTodoItem(model);

            // Assert
            _serviceMock.VerifyNoOtherCalls();
            Assert.IsType <ActionResult <Models.TodoItem> >(result);
            Assert.IsType <UnprocessableEntityObjectResult>(result.Result);
        }