public async Task GivenTodoItemExists_WhenPostNewTodoItem_ThenItemSaved()
        {
            using (var context = new TodoContext(_contextOptions))
            {
                TodoItemsController controller = new TodoItemsController(context);
                TodoItemDTO         toPost     = new TodoItemDTO()
                {
                    Name = "New One", IsCompleted = false
                };
                var postResult = await controller.PostTodoItem(toPost);

                TodoItemDTO postedItem = (TodoItemDTO)(postResult.Result as Microsoft.AspNetCore.Mvc.CreatedAtActionResult).Value;
                Assert.IsNotNull(postedItem.Id);
                Assert.AreEqual(toPost.Name, postedItem.Name);
                Assert.AreEqual(toPost.IsCompleted, postedItem.IsCompleted);

                Assert.AreEqual(4, await context.TodoItems.CountAsync());
            }
        }