public void readtemplatefile_should_read_cultureui_textfile_contents() { // Arrange _applicationSettings.EmailTemplateFolder = AppDomain.CurrentDomain.BaseDirectory; string expectedContents = DateTime.UtcNow.ToString(); string cultureDir = Path.Combine(AppDomain.CurrentDomain.BaseDirectory, "fr-FR"); if (!Directory.Exists(cultureDir)) { Directory.CreateDirectory(cultureDir); } string cultureFilePath = Path.Combine(cultureDir, "emailtemplate.txt"); Thread.CurrentThread.CurrentUICulture = new CultureInfo("fr-FR"); File.WriteAllText(cultureFilePath, expectedContents); EmailTemplateStub emailTemplate = new EmailTemplateStub(_applicationSettings, _settingsRepository, _emailClientMock); // Act string actualContents = emailTemplate.ReadTemplateFile("emailtemplate.txt"); // Assert Assert.That(actualContents, Is.EqualTo(expectedContents)); }
public void should_use_default_smtpclient_when_client_is_null_in_constructor() { // Arrange EmailTemplateStub emailTemplate = new EmailTemplateStub(_applicationSettings, _settingsRepository, null); // Act + Assert Assert.That(emailTemplate.GetEmailClient(), Is.TypeOf <EmailClient>()); }
public void Should_Use_Default_SmtpClient_When_Client_Is_Null_In_Constructor() { // Arrange EmailTemplateStub emailTemplate = new EmailTemplateStub(_applicationSettings, _repository, null); // Act + Assert Assert.That(emailTemplate.GetEmailClient(), Is.TypeOf<EmailClient>()); }
public void Send_Should_Throw_EmailException_When_Model_Is_Null() { // Arrange EmailTemplateStub emailTemplate = new EmailTemplateStub(_applicationSettings, _repository, _emailClientMock); UserViewModel userModel = null; // Act + Assert emailTemplate.Send(userModel); }
public void Send_Should_Throw_EmailException_When_Model_Is_Null() { // Arrange EmailTemplateStub emailTemplate = new EmailTemplateStub(_applicationSettings, _settingsRepository, _emailClientMock); UserViewModel userModel = null; // Act + Assert emailTemplate.Send(userModel); }
public void Send_Should_Use_EmailClient_To_Send() { // Arrange EmailTemplateStub emailTemplate = new EmailTemplateStub(_applicationSettings, _repository, _emailClientMock); UserViewModel userModel = new UserViewModel(); userModel.ExistingEmail = "someone@localhost"; userModel.NewEmail = "someone@localhost"; // Act emailTemplate.Send(userModel); // Assert Assert.That(_emailClientMock.Sent, Is.True); }
public void Send_Should_Throw_EmailException_When_PlainTextView_Is_Empty() { // Arrange EmailTemplateStub emailTemplate = new EmailTemplateStub(_applicationSettings, _settingsRepository, _emailClientMock); emailTemplate.PlainTextView = ""; UserViewModel userModel = new UserViewModel(); userModel.ExistingEmail = "someone@localhost"; userModel.NewEmail = "someone@localhost"; // Act + Assert emailTemplate.Send(userModel); }
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())); }
public void ReadTemplateFile_Should_Read_Textfile_Contents() { // Arrange _applicationSettings.EmailTemplateFolder = AppDomain.CurrentDomain.BaseDirectory; string expectedContents = DateTime.UtcNow.ToString(); string path = Path.Combine(AppDomain.CurrentDomain.BaseDirectory, "emailtemplate.txt"); File.WriteAllText(path, expectedContents); EmailTemplateStub emailTemplate = new EmailTemplateStub(_applicationSettings, _siteSettings, _emailClientMock); // Act string actualContents = emailTemplate.ReadTemplateFile("emailtemplate.txt"); // Assert Assert.That(actualContents, Is.EqualTo(expectedContents)); }
public void send_should_use_emailclient_to_send() { // Arrange EmailTemplateStub emailTemplate = new EmailTemplateStub(_applicationSettings, _settingsRepository, _emailClientMock); UserViewModel userModel = new UserViewModel(); userModel.ExistingEmail = "someone@localhost"; userModel.NewEmail = "someone@localhost"; // Act emailTemplate.Send(userModel); // Assert Assert.That(_emailClientMock.Sent, Is.True); }
public void readtemplatefile_should_read_textfile_contents() { // Arrange _applicationSettings.EmailTemplateFolder = AppDomain.CurrentDomain.BaseDirectory; string expectedContents = DateTime.UtcNow.ToString(); string path = Path.Combine(AppDomain.CurrentDomain.BaseDirectory, "emailtemplate.txt"); File.WriteAllText(path, expectedContents); EmailTemplateStub emailTemplate = new EmailTemplateStub(_applicationSettings, _settingsRepository, _emailClientMock); // Act string actualContents = emailTemplate.ReadTemplateFile("emailtemplate.txt"); // Assert Assert.That(actualContents, Is.EqualTo(expectedContents)); }
public void ReplaceTokens_Should_Replace_All_Tokens_From_Model() { // Arrange EmailTemplateStub emailTemplate = new EmailTemplateStub(_applicationSettings, _siteSettings, _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.SiteName = "MySite"; _siteSettings.SiteUrl = "http://www.roadkillwiki.iz.de.biz"; 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())); }
public void send_should_change_pickupdirectory_to_appdomainroot_when_starting_with_virtualpath_and_deliverytype_is_pickuplocation() { // Arrange EmailTemplateStub emailTemplate = new EmailTemplateStub(_applicationSettings, _settingsRepository, _emailClientMock); _emailClientMock.PickupDirectoryLocation = "~/App_Data/EmailDrop"; _emailClientMock.DeliveryMethod = SmtpDeliveryMethod.SpecifiedPickupDirectory; UserViewModel userModel = new UserViewModel(); userModel.ExistingEmail = "someone@localhost"; userModel.NewEmail = "someone@localhost"; // Act emailTemplate.Send(userModel); // Assert Assert.That(_emailClientMock.PickupDirectoryLocation, Is.StringStarting(AppDomain.CurrentDomain.BaseDirectory)); }
public void ReplaceTokens_Should_Get_SiteSettings_From_Repository() { // Issue #229 // Arrange EmailTemplateStub emailTemplate = new EmailTemplateStub(_applicationSettings, _repository, _emailClientMock); UserViewModel userModel = new UserViewModel(); SiteSettings expectedSettings = new SiteSettings(); expectedSettings.SiteName = "MySite"; expectedSettings.SiteUrl = "http://www.roadkillwiki.iz.de.biz"; _repository.SaveSiteSettings(expectedSettings); // Act emailTemplate.ReplaceTokens(userModel, "not used"); SiteSettings actualSettings = emailTemplate.GetSiteSettings(); // Assert Assert.That(actualSettings, Is.EqualTo(expectedSettings)); }
public void replacetokens_should_get_sitesettings_from_repository() { // Issue #229 // Arrange EmailTemplateStub emailTemplate = new EmailTemplateStub(_applicationSettings, _settingsRepository, _emailClientMock); UserViewModel userModel = new UserViewModel(); SiteSettings expectedSettings = new SiteSettings(); expectedSettings.SiteName = "MySite"; expectedSettings.SiteUrl = "http://www.roadkillwiki.iz.de.biz"; _settingsRepository.SaveSiteSettings(expectedSettings); // Act emailTemplate.ReplaceTokens(userModel, "not used"); SiteSettings actualSettings = emailTemplate.GetSiteSettings(); // Assert Assert.That(actualSettings, Is.EqualTo(expectedSettings)); }
public void ReadTemplateFile_Should_Read_CultureUI_Textfile_Contents() { // Arrange _applicationSettings.EmailTemplateFolder = AppDomain.CurrentDomain.BaseDirectory; string expectedContents = DateTime.UtcNow.ToString(); string cultureDir = Path.Combine(AppDomain.CurrentDomain.BaseDirectory, "fr-FR"); if (!Directory.Exists(cultureDir)) Directory.CreateDirectory(cultureDir); string cultureFilePath = Path.Combine(cultureDir, "emailtemplate.txt"); Thread.CurrentThread.CurrentUICulture = new CultureInfo("fr-FR"); File.WriteAllText(cultureFilePath, expectedContents); EmailTemplateStub emailTemplate = new EmailTemplateStub(_applicationSettings, _siteSettings, _emailClientMock); // Act string actualContents = emailTemplate.ReadTemplateFile("emailtemplate.txt"); // Assert Assert.That(actualContents, Is.EqualTo(expectedContents)); }
public void send_should_set_two_alternative_views_with_plaintext_and_html() { // Arrange EmailTemplateStub emailTemplate = new EmailTemplateStub(_applicationSettings, _settingsRepository, _emailClientMock); UserViewModel userModel = new UserViewModel(); userModel.ExistingEmail = "someone@localhost"; userModel.NewEmail = "someone@localhost"; // Act emailTemplate.Send(userModel); // Assert MailMessage message = _emailClientMock.Message; Assert.That(message.AlternateViews.Count, Is.EqualTo(2)); AlternateView plainView = message.AlternateViews.FirstOrDefault(x => x.ContentType.MediaType == "text/plain"); AlternateView htmlView = message.AlternateViews.FirstOrDefault(x => x.ContentType.MediaType == "text/html"); Assert.That(plainView, Is.Not.Null); Assert.That(htmlView, Is.Not.Null); }
public void Send_Should_Throw_EmailException_When_PlainTextView_Is_Empty() { // Arrange EmailTemplateStub emailTemplate = new EmailTemplateStub(_applicationSettings, _siteSettings, _emailClientMock); emailTemplate.PlainTextView = ""; UserViewModel userModel = new UserViewModel(); userModel.ExistingEmail = "someone@localhost"; userModel.NewEmail = "someone@localhost"; // Act + Assert emailTemplate.Send(userModel); }
public void Send_Should_Throw_EmailException_When_Model_Email_And_NewEmail_Is_Empty() { // Arrange EmailTemplateStub emailTemplate = new EmailTemplateStub(_applicationSettings, _siteSettings, _emailClientMock); UserViewModel userModel = new UserViewModel(); userModel.ExistingEmail = null; userModel.NewEmail = ""; // Act + Assert emailTemplate.Send(userModel); }
public void Send_Should_Set_Two_Alternative_Views_With_PlainText_And_Html() { // Arrange EmailTemplateStub emailTemplate = new EmailTemplateStub(_applicationSettings, _siteSettings, _emailClientMock); UserViewModel userModel = new UserViewModel(); userModel.ExistingEmail = "someone@localhost"; userModel.NewEmail = "someone@localhost"; // Act emailTemplate.Send(userModel); // Assert MailMessage message = _emailClientMock.Message; Assert.That(message.AlternateViews.Count, Is.EqualTo(2)); AlternateView plainView = message.AlternateViews.FirstOrDefault(x => x.ContentType.MediaType == "text/plain"); AlternateView htmlView = message.AlternateViews.FirstOrDefault(x => x.ContentType.MediaType == "text/html"); Assert.That(plainView, Is.Not.Null); Assert.That(htmlView, Is.Not.Null); }
public void Send_Should_Change_PickupDirectory_To_AppDomainRoot_When_Starting_With_VirtualPath_And_DeliveryType_Is_PickupLocation() { // Arrange EmailTemplateStub emailTemplate = new EmailTemplateStub(_applicationSettings, _siteSettings, _emailClientMock); _emailClientMock.PickupDirectoryLocation = "~/App_Data/EmailDrop"; _emailClientMock.DeliveryMethod = SmtpDeliveryMethod.SpecifiedPickupDirectory; UserViewModel userModel = new UserViewModel(); userModel.ExistingEmail = "someone@localhost"; userModel.NewEmail = "someone@localhost"; // Act emailTemplate.Send(userModel); // Assert Assert.That(_emailClientMock.PickupDirectoryLocation, Is.StringStarting(AppDomain.CurrentDomain.BaseDirectory)); }