public void GenerateEmail_WhenPassedValidModel_IncludesPhoneNumberFromModelInEmail() { var razorEngine = new RazorLightEngineBuilder() .UseEmbeddedResourcesProject(typeof(Program)) .UseMemoryCachingProvider() .Build(); var fixture = new Fixture(); var mailSettings = fixture .Build <BencoEmailMessageSettings>() .Create(); var mockMailSettingsOptions = new Mock <IOptions <BencoEmailMessageSettings> >(); mockMailSettingsOptions.Setup(m => m.Value).Returns(mailSettings); var sut = new ContactUsEmailGenerator(razorEngine, mockMailSettingsOptions.Object); var model = fixture.Build <ContactUsModel>() .With(m => m.PhoneNumber, "234-567-8901") .Create(); var result = sut.GenerateEmail(model); Assert.Contains("234-567-8901", result.Body); }
public void CanCreateContactUsEmailGenerator() { var razorEngine = new Mock <IRazorLightEngine>().Object; var fixture = new Fixture(); var mailSettings = fixture .Build <BencoEmailMessageSettings>() .Create(); var mockMailSettingsOptions = new Mock <IOptions <BencoEmailMessageSettings> >(); mockMailSettingsOptions.Setup(m => m.Value).Returns(mailSettings); // ReSharper disable once UnusedVariable var sut = new ContactUsEmailGenerator(razorEngine, mockMailSettingsOptions.Object); }
public void CanGenerateEmailFromModel_WhenPassedModelThatIsOfTypeContactUsModel_ReturnsTrue() { var razorEngine = new Mock <IRazorLightEngine>().Object; var fixture = new Fixture(); var mailSettings = fixture .Build <BencoEmailMessageSettings>() .Create(); var mockMailSettingsOptions = new Mock <IOptions <BencoEmailMessageSettings> >(); mockMailSettingsOptions.Setup(m => m.Value).Returns(mailSettings); var sut = new ContactUsEmailGenerator(razorEngine, mockMailSettingsOptions.Object); var model = fixture.Build <ContactUsModel>() .With(m => m.PhoneNumber, RandomDataGenerator.RandomPhoneNumber) .Create(); Assert.True(sut.CanGenerateEmailFromModel(model)); }
public void GenerateEmail_WhenPassedModelThatIsNotOfTypeContactUsModel_ThrowsArgumentException() { var razorEngine = new Mock <IRazorLightEngine>().Object; var fixture = new Fixture(); var mailSettings = fixture .Build <BencoEmailMessageSettings>() .Create(); var mockMailSettingsOptions = new Mock <IOptions <BencoEmailMessageSettings> >(); mockMailSettingsOptions.Setup(m => m.Value).Returns(mailSettings); var sut = new ContactUsEmailGenerator(razorEngine, mockMailSettingsOptions.Object); var model = fixture.Build <BuyPracticeModel>() .With(m => m.ContactPhoneNumber, RandomDataGenerator.RandomPhoneNumber) .Create(); var exception = Assert.Throws <ArgumentException>(() => sut.GenerateEmail(model)); Assert.Equal("model", exception.ParamName); }
public void GenerateEmail_WhenPassedValidModel_SetsFromAddressToContactEmailInModel() { var razorEngine = new Mock <IRazorLightEngine>().Object; var fixture = new Fixture(); var mailSettings = fixture .Build <BencoEmailMessageSettings>() .Create(); var mockMailSettingsOptions = new Mock <IOptions <BencoEmailMessageSettings> >(); mockMailSettingsOptions.Setup(m => m.Value).Returns(mailSettings); var sut = new ContactUsEmailGenerator(razorEngine, mockMailSettingsOptions.Object); var model = fixture.Build <ContactUsModel>() .With(m => m.PhoneNumber, RandomDataGenerator.RandomPhoneNumber) .With(m => m.EmailAddress, "*****@*****.**") .Create(); var result = sut.GenerateEmail(model); Assert.Equal("*****@*****.**", result.From); }