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)); }
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); }
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); }