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))); }
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)); }
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)); }
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)); }
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)); }