public override async Task <PutTodoItemResponse> PutTodoItem(PutTodoItemRequest request, ServerCallContext context)
        {
            await _unitOfWork.TodoItems.Update(request.Todo);

            var updatedTodoItem = await _unitOfWork.TodoItems.FindAsync(request.Todo.Id);

            var response = new PutTodoItemResponse {
                Todo = updatedTodoItem
            };

            return(response);
        }
        public async Task OkPutTodoItemTest()
        {
            var updateTodoItem = expectedTodoItems[0];
            var todo           = new Todo {
                Id = updateTodoItem.Id, Name = "OkPutPostTodoItemTest", IsComplete = true
            };
            var request = new PutTodoItemRequest {
                Todo = todo
            };
            var fakeServerCallContext = TestServerCallContext.Create("fooMethod", null, DateTime.UtcNow.AddHours(1), new Metadata(), CancellationToken.None, "127.0.0.1", null, null, (metadata) => TaskUtils.CompletedTask, () => new WriteOptions(), (writeOptions) => { });
            var actual = await implement.PutTodoItem(request, fakeServerCallContext);

            Assert.Equal(expectedTodoItems[0], actual.Todo);
        }