示例#1
0
        public void TestThat_ResetPassword_SendsAnEmailToTheUser_WhenAValidUserIsFound_FromAnEmailAddress()
        {
            var userProfileRepository = Substitute.For <IUserProfileRepository>();

            userProfileRepository.GetUserProfileByEmailAddress("*****@*****.**").Returns(new UserProfile {
                UserName = "******", EmailAddress = "*****@*****.**"
            });
            var resetPasswordEmailSender = Substitute.For <IResetPasswordEmailSender>();
            var controller = new ResetPasswordController(userProfileRepository, Substitute.For <IResetPasswordThingy>(), resetPasswordEmailSender);

            controller.SetupWithHttpContextAndUrlHelper();

            var model = new ResetPasswordStepOneModel {
                EmailAddress = "*****@*****.**"
            };

            controller.ResetPassword(model);

            resetPasswordEmailSender.Received().SendEmail(Arg.Any <string>(), Arg.Any <string>(), "*****@*****.**", Arg.Any <string>());
        }
示例#2
0
        public void TestThat_ResetPassword_GeneratesAPasswordResetTokenForTheUser_WhenAValidUserIsFound_FromAUserName()
        {
            var userProfileRepository = Substitute.For <IUserProfileRepository>();

            userProfileRepository.GetUserProfileByUserName("bob").Returns(new UserProfile {
                UserName = "******", EmailAddress = "*****@*****.**"
            });
            var resetPasswordThingy = Substitute.For <IResetPasswordThingy>();
            var controller          = new ResetPasswordController(userProfileRepository, resetPasswordThingy, Substitute.For <IResetPasswordEmailSender>());

            controller.SetupWithHttpContextAndUrlHelper();

            var model = new ResetPasswordStepOneModel {
                UserName = "******"
            };

            controller.ResetPassword(model);

            resetPasswordThingy.Received().GeneratePasswordResetToken("bob", Arg.Any <int>());
        }