コード例 #1
0
        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();
        }
コード例 #2
0
        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);
        }