Exemplo n.º 1
0
        public void Handle_NoPoll_Throws()
        {
            // Arrange
            var pollId     = Guid.NewGuid();
            var questionId = Guid.NewGuid();

            var query = new GetQuestionQuery
            {
                PollId     = pollId,
                QuestionId = questionId
            };

            _pollRepository
            .Setup(x => x.Read(pollId))
            .ReturnsAsync((Poll)null);

            // Act+Assert
            Assert.That(
                async() => await _handler.Handle(query, CancellationToken.None),
                Throws
                .InstanceOf <EntityNotFoundException>()
                .With
                .Property(nameof(EntityNotFoundException.Id))
                .EqualTo(pollId)
                .And
                .Property(nameof(EntityNotFoundException.Type))
                .EqualTo(nameof(Poll)));
        }
Exemplo n.º 2
0
        public async Task <IActionResult> GET_ANSWER([FromQuery] GetQuestionQuery request)
        {
            var resp = await _mediator.Send(request);

            if (resp.Status.IsSuccessful)
            {
                return(Ok(resp));
            }
            return(BadRequest(resp));
        }
Exemplo n.º 3
0
        public async Task Handle_HappyPath_Returns()
        {
            // Arrange
            var pollId     = Guid.NewGuid();
            var questionId = Guid.NewGuid();

            var query = new GetQuestionQuery
            {
                PollId     = pollId,
                QuestionId = questionId
            };

            var question = new Question(questionId, "How are you doing?");
            var answer   = new Answer(Guid.NewGuid(), "Good");
            var end      = new End(Guid.NewGuid(), "Good for you!");

            var transitions = new[]
            {
                Transition.Create(question, answer),
                Transition.Create(answer, end)
            };

            var poll =
                new Poll
                (
                    pollId,
                    "Test",
                    "Just a test poll",
                    question,
                    transitions
                );

            var expectedRsponse = new GetQuestionQueryResponse
            {
                Id = questionId
            };

            _pollRepository
            .Setup(x => x.Read(pollId))
            .ReturnsAsync(poll);

            _mapper
            .Setup(x => x.Map <GetQuestionQueryResponse>(question))
            .Returns(expectedRsponse);

            //Act
            var response = await _handler.Handle(query, CancellationToken.None);

            // Assert
            Assert.That(response.Id, Is.EqualTo(questionId));
        }
Exemplo n.º 4
0
        public async Task <object> Handler(GetQuestionQuery request, CancellationToken cancellationToken)
        {
            var questions = await eMSContext.Question
                            .Select(x => new
            {
                ID             = x.Id,
                Lebel          = x.Lebel,
                Point          = x.Point,
                IsActive       = x.IsActive,
                QuestionTypeID = x.QuestionTypeId
            }).ToListAsync();

            return(questions);
        }
        public async Task <IActionResult> Get(Guid id)
        {
            var query = new GetQuestionQuery
            {
                Id = id
            };
            var result = await _getQuestionQueryHandler.Handle(query);

            if (result == null)
            {
                return(NotFound());
            }

            return(Ok(result));
        }
Exemplo n.º 6
0
        public void Handle_NoQuestoin_Throws()
        {
            // Arrange
            var pollId     = Guid.NewGuid();
            var questionId = Guid.NewGuid();

            var query = new GetQuestionQuery
            {
                PollId     = pollId,
                QuestionId = questionId
            };

            var question = new Question(Guid.NewGuid(), "How are you doing?");
            var answer   = new Answer(Guid.NewGuid(), "Good");
            var end      = new End(Guid.NewGuid(), "Good for you!");

            var transitions = new[]
            {
                Transition.Create(question, answer),
                Transition.Create(answer, end)
            };

            var poll =
                new Poll
                (
                    pollId,
                    "Test",
                    "Just a test poll",
                    question,
                    transitions
                );

            _pollRepository
            .Setup(x => x.Read(pollId))
            .ReturnsAsync(poll);

            // Act+Assert
            Assert.That(
                async() => await _handler.Handle(query, CancellationToken.None),
                Throws
                .InstanceOf <EntityNotFoundException>()
                .With
                .Property(nameof(EntityNotFoundException.Id))
                .EqualTo(questionId)
                .And
                .Property(nameof(EntityNotFoundException.Type))
                .EqualTo(nameof(Question)));
        }
 public async Task <Question> Handle(GetQuestionQuery query)
 {
     return(await _questionRepository.GetById(query.Id));
 }