Esempio n. 1
0
            public void WillLogTheUserOnWithRolesWhenTheUsernameAndPasswordAreValidAndUserIsConfirmed()
            {
                var controller = new TestableAuthenticationController();
                var user       = new User("theUsername", null)
                {
                    Roles = new[] { new Role {
                                        Name = "Administrators"
                                    } },
                    EmailAddress = "*****@*****.**"
                };

                controller.MockUsers
                .Setup(x => x.FindByUsernameOrEmailAddressAndPassword("theUsername", "thePassword"))
                .Returns(user);

                controller.LogOn(
                    new SignInRequest {
                    UserNameOrEmail = "theUsername", Password = "******"
                },
                    "theReturnUrl");

                controller.MockFormsAuth.Verify(
                    x => x.SetAuthCookie(
                        "theUsername",
                        true,
                        new [] { "Administrators" }));
            }
Esempio n. 2
0
            public void WillLogTheUserOff()
            {
                var controller = new TestableAuthenticationController();

                controller.LogOff("theReturnUrl");

                controller.MockFormsAuth.Verify(x => x.SignOut());
            }
            public void WillLogTheUserOff()
            {
                var controller = new TestableAuthenticationController();

                controller.LogOff("theReturnUrl");

                controller.MockFormsAuth.Verify(x => x.SignOut());
            }
            public void WillRedirectToTheReturnUrl()
            {
                var controller = new TestableAuthenticationController();
                controller.MockUsers
                          .Setup(x => x.FindByUsernameOrEmailAddressAndPassword(It.IsAny<string>(), It.IsAny<string>()))
                          .Returns(new User("theUsername"));
                

                var result = controller.LogOff("theReturnUrl") as RedirectResult;
                ResultAssert.IsRedirectTo(result, "aSafeRedirectUrl");
            }
            public void WillShowTheViewWithErrorsIfTheModelStateIsInvalid()
            {
                var controller = new TestableAuthenticationController();
                controller.ModelState.AddModelError(String.Empty, "aFakeError");

                var result = controller.SignIn(null, null);

                ResultAssert.IsView(result, viewData: new
                {
                    ReturnUrl = (string)null
                });
            }
Esempio n. 6
0
            public void WillShowTheViewWithErrorsIfTheModelStateIsInvalid()
            {
                var controller = new TestableAuthenticationController();

                controller.ModelState.AddModelError(String.Empty, "aFakeError");

                var result = controller.LogOn(null, null);

                ResultAssert.IsView(result, viewData: new
                {
                    ReturnUrl = (string)null
                });
            }
Esempio n. 7
0
            public void WillRedirectToTheReturnUrl()
            {
                var controller = new TestableAuthenticationController();

                controller.MockUsers
                .Setup(x => x.FindByUsernameOrEmailAddressAndPassword(It.IsAny <string>(), It.IsAny <string>()))
                .Returns(new User("theUsername", null));


                var result = controller.LogOff("theReturnUrl") as RedirectResult;

                ResultAssert.IsRedirectTo(result, "aSafeRedirectUrl");
            }
Esempio n. 8
0
            public void WillRedirectToTheReturnUrl()
            {
                var controller = new TestableAuthenticationController();

                controller.MockUsers
                .Setup(x => x.FindByUsernameOrEmailAddressAndPassword(It.IsAny <string>(), It.IsAny <string>()))
                .Returns(new User("theUsername", null)
                {
                    EmailAddress = "*****@*****.**"
                });

                var result = controller.LogOn(new SignInRequest(), "theReturnUrl");

                ResultAssert.IsRedirectTo(result, "aSafeRedirectUrl");
            }
Esempio n. 9
0
            public void WillInvalidateModelStateAndShowTheViewWithErrorsWhenTheUsernameAndPasswordAreNotValid()
            {
                var controller = new TestableAuthenticationController();

                controller.MockUsers
                .Setup(x => x.FindByUsernameOrEmailAddressAndPassword(It.IsAny <string>(), It.IsAny <string>()))
                .ReturnsNull();

                var result = controller.LogOn(new SignInRequest(), "theReturnUrl") as ViewResult;

                Assert.NotNull(result);
                Assert.Empty(result.ViewName);
                Assert.False(controller.ModelState.IsValid);
                Assert.Equal(Strings.UserNotFound, controller.ModelState[String.Empty].Errors[0].ErrorMessage);
            }
            public void CanLogTheUserOnWithEmailAddress()
            {
                var controller = new TestableAuthenticationController();
                var user = new User("theUsername") { EmailAddress = "*****@*****.**" };
                controller.MockUsers
                          .Setup(x => x.FindByUsernameOrEmailAddressAndPassword("*****@*****.**", "thePassword"))
                          .Returns(user);

                controller.SignIn(
                    new SignInRequest { UserNameOrEmail = "*****@*****.**", Password = "******" },
                    "theReturnUrl");

                controller.MockFormsAuth.Verify(
                    x => x.SetAuthCookie(
                        "theUsername",
                        true,
                        null));
            }
Esempio n. 11
0
            public void WillNotLogTheUserOnWhenTheUsernameAndPasswordAreValidAndUserIsNotConfirmed()
            {
                var controller = new TestableAuthenticationController();

                controller.MockUsers
                .Setup(x => x.FindByUsernameOrEmailAddressAndPassword("theUsername", "thePassword"))
                .Returns(new User("theUsername", null));

                controller.LogOn(
                    new SignInRequest {
                    UserNameOrEmail = "theUsername", Password = "******"
                },
                    "theReturnUrl");

                controller.MockFormsAuth
                .Verify(
                    x => x.SetAuthCookie(It.IsAny <string>(), It.IsAny <bool>(), It.IsAny <IEnumerable <string> >()),
                    Times.Never());
            }
Esempio n. 12
0
            public void CanLogTheUserOnWithEmailAddress()
            {
                var controller = new TestableAuthenticationController();
                var user       = new User("theUsername", null)
                {
                    EmailAddress = "*****@*****.**"
                };

                controller.MockUsers
                .Setup(x => x.FindByUsernameOrEmailAddressAndPassword("*****@*****.**", "thePassword"))
                .Returns(user);

                controller.LogOn(
                    new SignInRequest {
                    UserNameOrEmail = "*****@*****.**", Password = "******"
                },
                    "theReturnUrl");

                controller.MockFormsAuth.Verify(
                    x => x.SetAuthCookie(
                        "theUsername",
                        true,
                        null));
            }
            public void WillRedirectToTheReturnUrl()
            {
                var controller = new TestableAuthenticationController();
                controller.MockUsers
                          .Setup(x => x.FindByUsernameOrEmailAddressAndPassword(It.IsAny<string>(), It.IsAny<string>()))
                          .Returns(new User("theUsername") { EmailAddress = "*****@*****.**" });

                var result = controller.SignIn(new SignInRequest(), "theReturnUrl");

                ResultAssert.IsRedirectTo(result, "aSafeRedirectUrl");
            }
            public void WillInvalidateModelStateAndShowTheViewWithErrorsWhenTheUsernameAndPasswordAreNotValid()
            {
                var controller = new TestableAuthenticationController();
                controller.MockUsers
                          .Setup(x => x.FindByUsernameOrEmailAddressAndPassword(It.IsAny<string>(), It.IsAny<string>()))
                          .ReturnsNull();

                var result = controller.SignIn(new SignInRequest(), "theReturnUrl") as ViewResult;

                Assert.NotNull(result);
                Assert.Empty(result.ViewName);
                Assert.False(controller.ModelState.IsValid);
                Assert.Equal(Strings.UserNotFound, controller.ModelState[String.Empty].Errors[0].ErrorMessage);
            }
            public void WillLogTheUserOnWithRoles()
            {
                var controller = new TestableAuthenticationController();
                var user = new User("theUsername")
                {
                    Roles = new[] { new Role { Name = "Administrators" } },
                    EmailAddress = "*****@*****.**"
                };
                controller.MockUsers
                          .Setup(x => x.FindByUsernameOrEmailAddressAndPassword("theUsername", "thePassword"))
                          .Returns(user);

                controller.SignIn(
                    new SignInRequest { UserNameOrEmail = "theUsername", Password = "******" },
                    "theReturnUrl");

                controller.MockFormsAuth.Verify(
                    x => x.SetAuthCookie(
                        "theUsername",
                        true,
                        new[] { "Administrators" }));
            }
            public void WillNotLogTheUserOnWhenTheUsernameAndPasswordAreValidAndUserIsNotConfirmed()
            {
                var controller = new TestableAuthenticationController();
                controller.MockUsers
                          .Setup(x => x.FindByUsernameOrEmailAddressAndPassword("theUsername", "thePassword"))
                          .Returns(new User("theUsername", null));
                
                controller.LogOn(
                    new SignInRequest { UserNameOrEmail = "theUsername", Password = "******" },
                    "theReturnUrl");

                controller.MockFormsAuth
                          .Verify(
                              x => x.SetAuthCookie(It.IsAny<string>(), It.IsAny<bool>(), It.IsAny<IEnumerable<string>>()), 
                              Times.Never());
            }