public async Task <IActionResult> Get([FromRoute] GetQuizStatisticQuery query)
        {
            using (var scope = _tracer.BuildSpan("GetQuizStatisticByQuizId").StartActive(finishSpanOnDispose: true))
            {
                var response = await _mediator.Send(query);

                if (response == null)
                {
                    return(NotFound($"Statistic for quiz with ID '{query.QuizId}' was not found."));
                }

                //catch if failure
                return(Ok(response));
            }
        }
Ejemplo n.º 2
0
        public async Task GetQuizStatisticByQuizIdHandler_NotExsistId_ShouldArgumentNullException()
        {
            //Arrange
            var quizId = Guid.NewGuid();
            var query  = new GetQuizStatisticQuery()
            {
                QuizId = quizId
            };
            var handler = _autoMocker.CreateInstance <GetQuizStatisticQueryHandler>();

            _quizStatisticRepositoryMock.Setup(x => x.GetAllAsync(It.IsAny <ISpecification <QuizStatistic> >()))
            .ReturnsAsync(default(List <QuizStatistic>));

            //Act
            var result = await Assert.ThrowsAsync <ArgumentNullException>(() => handler.Handle(query, CancellationToken.None));

            //Assert
            Assert.Contains($"Quiz statistic for quiz {quizId} not found", result.Message);
        }
Ejemplo n.º 3
0
        public async Task GetQuizStatisticByQuizIdHandler_ExsistId_ShouldSuccess()
        {
            //Arrange
            var quizId = Guid.NewGuid();
            var query  = new GetQuizStatisticQuery()
            {
                QuizId = quizId
            };
            var handler = _autoMocker.CreateInstance <GetQuizStatisticQueryHandler>();

            _quizStatisticRepositoryMock.Setup(x => x.GetAllAsync(It.IsAny <ISpecification <QuizStatistic> >()))
            .ReturnsAsync(GetQuizStatisticList(quizId));
            _quizStatisticServiceMock.Setup(x => x.GetQuizStatistics(It.IsAny <IEnumerable <QuizStatistic> >()))
            .Returns(GetQuizStatisticView());
            //Act
            var result = await handler.Handle(query, CancellationToken.None);

            //Assert
            Assert.NotNull(result);
        }