public async Task AddAchievementAsync_CreateAchievementModel_ReturnsReadAchievementModel(CreateAchievementModel model) { //Arrange var expectedValue = AchievementDumbData.GetReadAchievementModel(model); var cancellationToken = new CancellationToken(); _fileService.Setup(x => x.AddOrUpdateFileByIdAsync(It.IsAny <IFormFile>(), It.IsAny <Guid?>(), cancellationToken)).Returns(Task.FromResult(expectedValue.IconId)); _achievementRepository.Setup(x => x.AddAsync(It.IsAny <Achievement>(), cancellationToken)).Returns(Task.FromResult(expectedValue)); _unitOfWork.Setup(x => x.SaveChangesAsync(cancellationToken)).Returns(Task.CompletedTask); // Act var response = await _achievementService.AddAchievementAsync(model, cancellationToken); expectedValue.Id = response.Id; // Assert _fileService.Verify(x => x.AddOrUpdateFileByIdAsync(It.IsAny <IFormFile>(), It.IsAny <Guid?>(), cancellationToken), Times.Once); _achievementRepository.Verify(x => x.AddAsync(It.IsAny <Achievement>(), cancellationToken), Times.Once); _unitOfWork.Verify(x => x.SaveChangesAsync(cancellationToken), Times.Once); response.Should().BeEquivalentTo(expectedValue); }