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

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

                //catch if failure
                return(Ok(response));
            }
        }
Exemple #2
0
        public async Task GetUserStatisticByUserIdHandler_NotExsistId_ShouldArgumentNullException()
        {
            //Arrange
            var userId = Guid.NewGuid();
            var query  = new GetUserStatisticQuery()
            {
                UserId = userId
            };
            var handler = _autoMocker.CreateInstance <GetUserStatisticQueryHandler>();

            _userStatisticRepositoryMock.Setup(x => x.GetAllAsync(It.IsAny <ISpecification <UserStatistic> >()))
            .ReturnsAsync(default(List <UserStatistic>));
            //Act
            var result = await Assert.ThrowsAsync <ArgumentNullException>(() => handler.Handle(query, CancellationToken.None));

            //Assert
            Assert.Contains($"User statistic for user {userId} not found", result.Message);
        }
Exemple #3
0
        public async Task GetUserStatisticByQuizIdHandler_ExsistId_ShouldSuccess()
        {
            //Arrange
            var userId = Guid.NewGuid();
            var query  = new GetUserStatisticQuery()
            {
                UserId = userId
            };
            var handler = _autoMocker.CreateInstance <GetUserStatisticQueryHandler>();

            _userStatisticRepositoryMock.Setup(x => x.GetAllAsync(It.IsAny <ISpecification <UserStatistic> >()))
            .ReturnsAsync(GetUserStatisticList(userId));
            _userStatisticServiceMock.Setup(x => x.GetUserStatistics(It.IsAny <IEnumerable <UserStatistic> >(), It.IsAny <EnglishLevel>()))
            .Returns(GetUserStatisticView());

            //Act
            var result = await handler.Handle(query, CancellationToken.None);

            //Assert
            Assert.NotNull(result);
        }