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); }