示例#1
0
        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);
        }
示例#2
0
        public async Task<ActionResult> GetTodoListItem([FromRoute] GetTodoListItemQuery request)
        {
            var result = await _mediator.Send(request);

            return Ok(result);
        }