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