public async Task GetAllAsync_ReturnsReadRequestAchievementModels() { //Arrange int entitiesCount = 5; var cancellationToken = new CancellationToken(); var achievements = AchievementDumbData.GetRandomEntities(entitiesCount); var users = UserDumbData.GetRandomEntities(entitiesCount); var listRequestAchievements = RequestAchievementDumbData.GetEntities(achievements, users); var pagingInfo = ReturnPagingInfoDumbData.GetForModel(new PagingInfo(), listRequestAchievements); var expectedValue = RequestAchievementDumbData.GetReadRequestAchievementModels(listRequestAchievements, achievements, users); _requestAchievementRepository.Setup(x => x.GetAllDataAsync(It.IsAny <PagingInfo>(), cancellationToken)).Returns(Task.FromResult(pagingInfo)); _userRepository.Setup(x => x.GetByIdAsync(It.IsAny <Guid>(), cancellationToken)).Returns((Guid x) => Task.FromResult(users.FirstOrDefault(y => y.Id == x))); _achievementRepository.Setup(x => x.GetByIdAsync(It.IsAny <Guid>(), cancellationToken)).Returns((Guid x) => Task.FromResult(achievements.FirstOrDefault(y => y.Id == x))); // Act var response = await _requestAchievementService.GetAllAsync(cancellationToken); // Assert _requestAchievementRepository.Verify(x => x.GetAllDataAsync(It.IsAny <PagingInfo>(), cancellationToken), Times.Once); _userRepository.Verify(x => x.GetByIdAsync(It.IsAny <Guid>(), cancellationToken), Times.Exactly(listRequestAchievements.Count)); _achievementRepository.Verify(x => x.GetByIdAsync(It.IsAny <Guid>(), cancellationToken), Times.Exactly(listRequestAchievements.Count)); response.Should().BeEquivalentTo(expectedValue); }
public async Task GetByIdAsync() { var expectedRequestAchievement = RequestAchievementDumbData.GetRandomEntity(); var cancellationToken = new CancellationToken(); //Arrange _requestAchievementRepository.Setup(x => x.GetByIdAsync(It.IsAny <Guid>(), cancellationToken)).Returns(Task.FromResult(expectedRequestAchievement)); // Act var result = await _requestAchievementService.GetByIdAsync(expectedRequestAchievement.Id, cancellationToken); // Assert _requestAchievementRepository.Verify(x => x.GetByIdAsync(It.IsAny <Guid>(), cancellationToken), Times.Once); result.Should().BeEquivalentTo(expectedRequestAchievement); }
public async Task ApproveAchievementRequestAsync() { var expectedRequestAchievement = RequestAchievementDumbData.GetRandomEntity(); var cancellationToken = new CancellationToken(); //Arrange _requestAchievementRepository.Setup(x => x.GetByIdAsync(It.IsAny <Guid>(), cancellationToken)).Returns(Task.FromResult(expectedRequestAchievement)); _userAchievementService.Setup(x => x.AddAsync(It.IsAny <Guid>(), It.IsAny <Guid>(), cancellationToken)).Returns(Task.CompletedTask); //Arrange for DeleteAsync Function _requestAchievementRepository.Setup(x => x.Delete(It.IsAny <RequestAchievement>())); _unitOfWork.Setup(x => x.SaveChangesAsync(cancellationToken)).Returns(Task.CompletedTask); // Act await _requestAchievementService.ApproveAchievementRequestAsync(expectedRequestAchievement.Id, cancellationToken); // Assert _requestAchievementRepository.Verify(x => x.GetByIdAsync(It.IsAny <Guid>(), cancellationToken), Times.Once); _requestAchievementRepository.Verify(x => x.Delete(It.IsAny <RequestAchievement>()), Times.Once); _userAchievementService.Verify(x => x.AddAsync(It.IsAny <Guid>(), It.IsAny <Guid>(), cancellationToken), Times.Once); _unitOfWork.Verify(x => x.SaveChangesAsync(cancellationToken), Times.Exactly(2)); }