public async Task <IActionResult> Completed([FromRoute] Guid id) { ToDoItemModel toDoItemModel = await _dbContext.TodoItemModels .FirstOrDefaultAsync(x => x.Id == id); if (toDoItemModel == null) { return(NotFound("ToDo item not found")); } toDoItemModel.SetCompleted(); await _dbContext.SaveChangesAsync(); return(Ok()); }
public async Task WhenToDoIsCompleted__ResponseShouldBeOk_and_ToDoCompletedOnShouldBeNull() { // Arrange var toDo = new ToDoItemModel("some to-do"); toDo.SetCompleted(); EntityEntry <ToDoItemModel> toDoEntity = await _dbContext.AddAsync(toDo); await _dbContext.SaveChangesAsync(); // Act using var httpRequestMessage = new HttpRequestMessage(HttpMethod.Delete, $"todos/{toDo.Id}/completed"); using HttpResponseMessage responseMessage = await _httpClient.SendAsync(httpRequestMessage); // Assert await toDoEntity.ReloadAsync(); Assert.Equal(HttpStatusCode.OK, responseMessage.StatusCode); Assert.False(toDo.Completed); Assert.Null(toDo.CompletedOn); }