public async Task CreateAsync_ShouldReturnClient_WhenInputIsValid() { // Arrange _passwordHasher.CreateSalt().Returns("salt"); _passwordHasher.Create(Arg.Any <string>(), Arg.Any <string>()).Returns("hash"); _clientRepository.SaveAsync().Returns(1); // Act var client = await _sut.CreateAsync(new Client(), "password"); // Assert client.Should().NotBeNull(); }
public async Task <Client> CreateAsync(Client client, string password) { if (client == null) { return(null); } var salt = _passwordHasher.CreateSalt(); var hash = _passwordHasher.Create(password, salt); client.Salt = salt; client.Hash = hash; await _repository.Insert(client); if (await _repository.SaveAsync() <= 0) { return(null); } return(client); }