コード例 #1
0
        public void SendAnEmailToTheCorrectEmail()
        {
            var emailSender          = Substitute.For <IEmailSender>();
            var messageFactory       = Substitute.For <IMessageFactory>();
            var fileContentsProvider = Substitute.For <IFileContentsProvider>();
            var sender = new ResetPasswordEmailSender(emailSender, messageFactory, fileContentsProvider);

            sender.SendEmail("htmlTemplatePath", "textTemplatePath", "*****@*****.**", "http://reset/Password.Url");

            messageFactory.Received()
            .Create(Arg.Any <MailAddress>(), new MailAddress("*****@*****.**"),
                    Arg.Any <string>(), Arg.Any <string>(), Arg.Any <string>());
        }
コード例 #2
0
        public void LoadTheTextContentsOfTheEmail_FromTheSpecifiedTextTemplatePath()
        {
            var emailSender          = Substitute.For <IEmailSender>();
            var messageFactory       = Substitute.For <IMessageFactory>();
            var fileContentsProvider = Substitute.For <IFileContentsProvider>();
            var sender = new ResetPasswordEmailSender(emailSender, messageFactory, fileContentsProvider);

            fileContentsProvider.GetFileContents(null).ReturnsForAnyArgs("file contents");

            sender.SendEmail("htmlTemplatePath", "textTemplatePath", "*****@*****.**", "http://reset/Password.Url");

            fileContentsProvider.Received().GetFileContents("textTemplatePath");
        }
コード例 #3
0
        public void SubstituteTheResetPasswordLink_IntoTheTextTemplate()
        {
            var          emailSender          = Substitute.For <IEmailSender>();
            var          messageFactory       = Substitute.For <IMessageFactory>();
            var          fileContentsProvider = Substitute.For <IFileContentsProvider>();
            var          sender          = new ResetPasswordEmailSender(emailSender, messageFactory, fileContentsProvider);
            const string contentTemplate = "test {0} email";
            string       content         = string.Format(contentTemplate, ResetPasswordEmailSender.ResetLinkToken);

            fileContentsProvider.GetFileContents("textTemplatePath").ReturnsForAnyArgs(content);
            const string resetPasswordUrl = "http://reset/Password.Url";

            sender.SendEmail("htmlTemplatePath", "textTemplatePath", "*****@*****.**", resetPasswordUrl);

            string expectedContent = string.Format(contentTemplate, resetPasswordUrl);

            messageFactory.Received()
            .Create(Arg.Any <MailAddress>(), Arg.Any <MailAddress>(),
                    Arg.Any <string>(), Arg.Any <string>(), expectedContent);
        }