public async Task Handle_WhenRequestIsValid_ShouldReturnTodoItemDto() { //Arrange var todoListItem = TodoListItemTestData.CreateTodoListItemTestData(); var todoListItemId = todoListItem.TodoListItemId; _todoListItemsRepository.GetTodoListItemsByIdAsync(Arg.Any <Guid>()).Returns(todoListItem); request = new GetTodoListItemQuery { TodoListItemId = todoListItemId, }; var mappingConfig = new MapperConfiguration(mc => { mc.AddProfile(new TodoListsProfile()); }); _mapper = mappingConfig.CreateMapper(); subject = new GetTodoListItemQueryHandler(_todoListItemsRepository, _mapper); //Act var result = await subject.Handle(request, default); //Assert var querResult = new TodoItemDto { TodoListItemId = todoListItem.TodoListItemId, Name = todoListItem.Name, Description = todoListItem.Description, DueDate = todoListItem.DueDate, CompletedOn = todoListItem.CompletedOn, StatusName = todoListItem.Status == TodoListItemStatuses.Pending ? "Pending" : "Done" }; result.ShouldBeOfType <TodoItemDto>(); result.ShouldBeEquivalentTo(querResult); }
public async Task<ActionResult> GetTodoListItem([FromRoute] GetTodoListItemQuery request) { var result = await _mediator.Send(request); return Ok(result); }