Beispiel #1
0
        public void replacetokens_should_replace_all_tokens_from_model()
        {
            // Arrange
            EmailTemplateStub emailTemplate = new EmailTemplateStub(_applicationSettings, _settingsRepository, _emailClientMock);
            UserViewModel     userModel     = new UserViewModel();

            userModel.ActivationKey    = "key";
            userModel.ExistingUsername = "******";
            userModel.Firstname        = "firstname";
            userModel.Id               = Guid.NewGuid();
            userModel.Lastname         = "lastname";
            userModel.NewEmail         = "NewEmail";
            userModel.PasswordResetKey = "resetkey";

            SiteSettings siteSettings = new SiteSettings();

            siteSettings.SiteName = "MySite";
            siteSettings.SiteUrl  = "http://www.roadkillwiki.iz.de.biz";
            _settingsRepository.SaveSiteSettings(siteSettings);

            StringBuilder templateBuilder = new StringBuilder();

            templateBuilder.AppendLine("{FIRSTNAME}");
            templateBuilder.AppendLine("{LASTNAME}");
            templateBuilder.AppendLine("{EMAIL}");
            templateBuilder.AppendLine("{USERNAME}");
            templateBuilder.AppendLine("{ACTIVATIONKEY}");
            templateBuilder.AppendLine("{RESETKEY}");
            templateBuilder.AppendLine("{USERID}");
            templateBuilder.AppendLine("{SITENAME}");
            templateBuilder.AppendLine("{SITEURL}");

            StringBuilder expectedContent = new StringBuilder();

            expectedContent.AppendLine(userModel.Firstname);
            expectedContent.AppendLine(userModel.Lastname);
            expectedContent.AppendLine(userModel.NewEmail);
            expectedContent.AppendLine(userModel.NewUsername);
            expectedContent.AppendLine(userModel.ActivationKey);
            expectedContent.AppendLine(userModel.PasswordResetKey);
            expectedContent.AppendLine(userModel.Id.ToString());
            expectedContent.AppendLine(siteSettings.SiteName);
            expectedContent.AppendLine(siteSettings.SiteUrl);

            // Act
            string actualTemplate = emailTemplate.ReplaceTokens(userModel, templateBuilder.ToString());

            // Assert
            Assert.That(actualTemplate, Is.EqualTo(expectedContent.ToString()));
        }