Beispiel #1
0
        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());
        }
Beispiel #2
0
        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);
        }