public void FindAsync_ShouldReturnCorrectUser()
        {
            // Setup dependencies
            var user = new User {
                UserName = "******"
            };

            var userStore = new FakeUserStore()
                            .WithUser(user).Build();

            var passwordHasher = new FakePasswordHasher()
                                 .WithResult(PasswordVerificationResult.Success).Build();

            // Call FindAsync
            var returnedUser = _userManager
                               .WithUserStore(userStore.Object)
                               .WithPasswordHasher(passwordHasher.Object).Build()
                               .FindAsync("TestUser", "TestPassword").Result;

            Assert.AreEqual(user, returnedUser);
        }
Exemplo n.º 2
0
        public void Register_ShouldCreateUser()
        {
            // Setup dependencies
            var request = ConstructDefaultRegisterViewModel();

            var userStore = new FakeUserStore()
                            .WithAbilityToCreateUser().Build();

            var passwordHasher = new FakePasswordHasher()
                                 .WithResult(PasswordVerificationResult.Success).Build();

            var userManager = new MockUserManager(userStore.Object, passwordHasher.Object)
                              .WithUserCreationResult(IdentityResult.Success);

            // Call register
            var result = _controller
                         .WithUserManager(userManager).Build()
                         .Register(request).Result;

            // Verify result
            result.AssertIsRedirect("Home", "Index");
        }
        public void FindAsync_ShouldReturnNullForIncorrectPassword()
        {
            // Setup dependencies
            var user = new User {
                UserName = "******"
            };

            var userStore = new FakeUserStore()
                            .WithUser(user).Build();

            var passwordHasher = new FakePasswordHasher()
                                 .WithResult(PasswordVerificationResult.Failed).Build();

            // Call FindAsync
            var returnedUser = _userManager
                               .WithUserStore(userStore.Object)
                               .WithPasswordHasher(passwordHasher.Object).Build()
                               .FindAsync("TestUser", "TestPassword").Result;

            // Verify result
            Assert.IsNull(returnedUser);
        }
        public void CreateAsync_ShouldCreateUser()
        {
            // Setup dependencies
            var userStore = new FakeUserStore()
                            .WithAbilityToCreateUser().Build();

            var passwordHasher = new FakePasswordHasher()
                                 .WithPasswordSalt("TestSalt").Build();

            var user = new User {
                UserName = "******", PasswordHash = "TestPasswordHash"
            };

            // Call CreateAsync
            var returnedUser = _userManager
                               .WithUserStore(userStore.Object)
                               .WithPasswordHasher(passwordHasher.Object).Build()
                               .CreateAsync(user).Result;

            // Verify Result
            passwordHasher.Verify(ph => ph.HashPassword("TestPasswordHash"), Times.Once);
            userStore.Verify(us => us.CreateAsync(It.Is <User>(u => u.UserName == "TestUser")), Times.Once);
        }