コード例 #1
0
        public override async Task <PostTodoItemResponse> PostTodoItem(PostTodoItemRequest request, ServerCallContext context)
        {
            var newTodo = new Todo {
                Id = Guid.NewGuid().ToString(), Name = request.Name, IsComplete = false
            };
            await _unitOfWork.TodoItems.Add(newTodo);

            var response = new PostTodoItemResponse {
                Todo = newTodo
            };

            return(response);
        }
コード例 #2
0
        public async Task OkPostTodoItemTest()
        {
            var request = new PostTodoItemRequest {
                Name = "PostTodoTestName"
            };
            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.PostTodoItem(request, fakeServerCallContext);

            // リクエストで受け取ったNameが設定されている
            Assert.Equal(request.Name, actual.Todo.Name);
            // IsCompleteの初期値はfalseである
            Assert.Equal(false, actual.Todo.IsComplete);
            // 生成されたTodoがDBに登録されている
            Assert.Contains(actual.Todo, expectedTodoItems);
        }