Exemplo n.º 1
0
        public async Task GetAchievementsInfoByUserAsync_ValidUserId(Guid userId)
        {
            //Arrange
            var userAchievement   = UserAchievementDumbData.GetRandomEntity();
            var cancellationToken = new CancellationToken();

            var countAchievementsByUser  = RandomHelper.GetRandomNumber();
            var countAchievementsByMonth = RandomHelper.GetRandomNumber();
            var expectedValue            = new AchievementsInfoModel
            {
                TotalAchievements            = countAchievementsByUser,
                TotalXP                      = userAchievement.User.XP,
                TotalAchievementsByThisMonth = countAchievementsByMonth
            };

            _userAchievementRepository.Setup(x => x.GetCountAchievementsByUserAsync(It.IsAny <Guid>(), cancellationToken)).ReturnsAsync(countAchievementsByUser);
            _userAchievementRepository.Setup(x => x.GetCountAchievementsByThisMonthAsync(It.IsAny <Guid>(), cancellationToken)).ReturnsAsync(countAchievementsByMonth);
            _userRepository.Setup(x => x.GetByIdAsync(It.IsAny <Guid>(), cancellationToken)).Returns(Task.FromResult(userAchievement.User));

            // Act
            var response = await _userAchievementService.GetAchievementsInfoByUserAsync(userId, cancellationToken);

            // Assert
            _userAchievementRepository.Verify(x => x.GetCountAchievementsByUserAsync(It.IsAny <Guid>(), cancellationToken), Times.Once);
            _userAchievementRepository.Verify(x => x.GetCountAchievementsByThisMonthAsync(It.IsAny <Guid>(), cancellationToken), Times.Once);
            _userRepository.Verify(x => x.GetByIdAsync(It.IsAny <Guid>(), cancellationToken), Times.Once);

            response.Should().BeEquivalentTo(expectedValue);
        }
Exemplo n.º 2
0
        public async Task GetUserAchievementByIdAsync()
        {
            //Arrange
            var userAchievement   = UserAchievementDumbData.GetRandomEntity();
            var expectedValue     = _mapper.Map <ReadUserAchievementModel>(userAchievement);
            var cancellationToken = new CancellationToken();

            _userAchievementRepository.Setup(x => x.GetByIdAsync(It.IsAny <Guid>(), cancellationToken)).ReturnsAsync(userAchievement);

            // Act
            var response = await _userAchievementService.GetUserAchievementByIdAsync(userAchievement.Id, cancellationToken);

            // Assert
            _userAchievementRepository.Verify(x => x.GetByIdAsync(It.IsAny <Guid>(), cancellationToken), Times.Once);

            response.Should().BeEquivalentTo(expectedValue);
        }
Exemplo n.º 3
0
        public async Task DeleteAsync_ValidUserAchievementId(Guid userAchievementId)
        {
            //Arrange
            var userAchievement   = UserAchievementDumbData.GetRandomEntity();
            var user              = userAchievement.User;
            var achievement       = userAchievement.Achievement;
            var cancellationToken = new CancellationToken();

            _userRepository.Setup(x => x.GetByIdAsync(It.IsAny <Guid>(), cancellationToken)).ReturnsAsync(user);
            _userAchievementRepository.Setup(x => x.GetByIdAsync(It.IsAny <Guid>(), cancellationToken)).ReturnsAsync(userAchievement);
            _userAchievementRepository.Setup(x => x.Delete(It.IsAny <UserAchievement>()));
            _unitOfWork.Setup(x => x.SaveChangesAsync(cancellationToken)).Returns(Task.CompletedTask);

            // Act
            await _userAchievementService.DeleteAsync(userAchievementId, cancellationToken);

            // Assert
            _userRepository.Verify(x => x.GetByIdAsync(It.IsAny <Guid>(), cancellationToken), Times.Once);
            _userAchievementRepository.Verify(x => x.GetByIdAsync(It.IsAny <Guid>(), cancellationToken), Times.Once);
            _userAchievementRepository.Verify(x => x.Delete(It.IsAny <UserAchievement>()), Times.Once);
            _unitOfWork.Verify(x => x.SaveChangesAsync(cancellationToken), Times.Once);
        }