public void ShouldSignUpUser() { UserSignUpRequest request = CreateRequest(); userRepository .Setup(x => x.Exist(request.Email)) .Returns(false); var passwordSalt = new Password.Salt(value: "4235346654"); securePseudoRandomGenerator .Setup(x => x.Generate()) .Returns(passwordSalt); var hashedPasswordOutput = "$2y$asdasdVDFJVw4rtfAFVSDfjc34t"; hashingService .Setup(x => x.Hash(request.Password.Value + passwordSalt.Value)) .Returns(hashedPasswordOutput); var result = command.Execute(request); Assert.IsTrue(result.IsValid); userRepository .Verify(x => x.Create(It.Is <SaltedPasswordHashing.Src.Domain.User.User>(x => x.IdProp.Value != null && x.Email.Value == request.Email.Value && x.Password.Value == hashedPasswordOutput && x.Password.SaltProp.Value == passwordSalt.Value)), Times.Once()); }
public void ShouldHashPasswordWhenRequested() { var passwordSalt = new Password.Salt(value: "4235346654"); securePseudoRandomGenerator .Setup(x => x.Generate()) .Returns(passwordSalt); var hashedPasswordOutput = "$2y$asdasdVDFJVw4rtfAFVSDfjc34t"; hashingService .Setup(x => x.Hash(password.Value + passwordSalt.Value)) .Returns(hashedPasswordOutput); password.Hash( hashingService: hashingService.Object, securePseudoRandomGenerator: securePseudoRandomGenerator.Object); Assert.AreEqual(password.Value, hashedPasswordOutput); Assert.AreEqual(password.SaltProp.Value, passwordSalt.Value); }