public async Task UpdateUserAsync_ValidUpdateFullUserModelsWithIds_ReturnsReadFullUserModel(UpdateUserModel model) { //Arrange var expectedUser = UserDumbData.GetEntity(model); var expectedValue = _mapper.Map <ReadFullUserModel>(expectedUser); var cancellationToken = new CancellationToken(); _userRepository.Setup(x => x.GetByIdAsync(It.IsAny <Guid>(), cancellationToken)).Returns(Task.FromResult(expectedUser)); _userRepository.Setup(x => x.Update(It.IsAny <User>())); _fileService.Setup(x => x.AddOrUpdateFileByIdAsync(It.IsAny <IFormFile>(), It.IsAny <Guid?>(), cancellationToken)).Returns(Task.FromResult(expectedValue.AvatarId)); _roleRepository.Setup(x => x.GetRoleByNameAsync(It.IsAny <string>(), cancellationToken)).Returns((string x) => Task.FromResult(RoleDumbData.GetEntity(x))).Verifiable(); _unitOfWork.Setup(x => x.SaveChangesAsync(cancellationToken)).Returns(Task.CompletedTask); // Act var response = await _userService.UpdateUserAsync(model, expectedUser.Id, cancellationToken); // Assert _userRepository.Verify(x => x.GetByIdAsync(It.IsAny <Guid>(), cancellationToken), Times.Once); _userRepository.Verify(x => x.Update(It.IsAny <User>()), Times.Once); _fileService.Verify(x => x.AddOrUpdateFileByIdAsync(It.IsAny <IFormFile>(), It.IsAny <Guid?>(), cancellationToken), Times.Once); _unitOfWork.Verify(x => x.SaveChangesAsync(cancellationToken), Times.Once); _roleRepository.Verify(x => x.GetRoleByNameAsync(It.IsAny <string>(), cancellationToken), Times.Once); response.Should().BeEquivalentTo(expectedValue); }