public async Task <IActionResult> GetUserAchievementsAsync([FromQuery] PagingInfo pagingInfo, CancellationToken cancellationToken) { var resultValidation = await _pagingInfoValidator.ValidateAsync(pagingInfo, cancellationToken); resultValidation.AddToModelState(ModelState, null); if (!ModelState.IsValid) { return(UnprocessableEntity(ModelState)); } var item = await _userAchievementService.GetAllAchievementsByUserAsync(pagingInfo, UserId, cancellationToken); return(Ok(item)); }
public async Task GetAllAchievementsByUserAsync(PagingInfo pagingInfo) { //Arrange var user = UserDumbData.GetRandomEntity(); var returnPage = ReturnPagingInfoDumbData.GetForModel(pagingInfo, UserAchievementDumbData.GetRandomEntities(5, user)); var expectedValue = ReturnPagingInfoDumbData.GetWithModels <ReadUserAchievementModel, UserAchievement>(returnPage, _mapper); var cancellationToken = new CancellationToken(); _userAchievementRepository.Setup(x => x.GetAllAchievementsByUserAsync(It.IsAny <PagingInfo>(), It.IsAny <Guid>(), cancellationToken)).ReturnsAsync(returnPage); // Act var response = await _userAchievementService.GetAllAchievementsByUserAsync(pagingInfo, user.Id, cancellationToken); // Assert _userAchievementRepository.Verify(x => x.GetAllAchievementsByUserAsync(It.IsAny <PagingInfo>(), It.IsAny <Guid>(), cancellationToken), Times.Once); response.Should().BeEquivalentTo(expectedValue); }