public void CanCreatePracticeBuyEmailGenerator() { var attachmentGenerator = new Mock <IGenerateEmailAttachment>().Object; 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 PracticeBuyEmailGenerator(razorEngine, attachmentGenerator, mockMailSettingsOptions.Object); }
public void Generate_WhenPassedModelIsNotOfTypeBuyPracticeModel_ThrowsArgumentException() { var razorEngine = new Mock <IRazorLightEngine>().Object; var attachmentGenerator = new Mock <IGenerateEmailAttachment>().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 PracticeBuyEmailGenerator(razorEngine, attachmentGenerator, mockMailSettingsOptions.Object); Assert.Throws <ArgumentException>(() => sut.GenerateEmail(new SellPracticeModel())); }
public void GenerateEmail_WhenPassedModelIsOfTypeBuyPracticeModel_Succeeds() { var razorEngine = new Mock <IRazorLightEngine>().Object; var attachmentGenerator = new Mock <IGenerateEmailAttachment>().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 PracticeBuyEmailGenerator(razorEngine, attachmentGenerator, mockMailSettingsOptions.Object); Assert.NotNull(sut.GenerateEmail(new BuyPracticeModel())); }
public void CanGenerateEmailFromModel_WhenPassedModelThatIsNotOfTypeBuyPracticeModel_ReturnsFalse() { var razorEngine = new Mock <IRazorLightEngine>().Object; var attachmentGenerator = new Mock <IGenerateEmailAttachment>().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 PracticeBuyEmailGenerator(razorEngine, attachmentGenerator, mockMailSettingsOptions.Object); Assert.False(sut.CanGenerateEmailFromModel(new SellPracticeModel())); }
public void GenerateEmail_WhenPassedValidModel_CreatesAttachment() { var razorEngine = new Mock <IRazorLightEngine>().Object; var attachmentGenerator = new Mock <IGenerateEmailAttachment>(); attachmentGenerator.Setup(m => m.GenerateCsvEmailAttachment(It.IsAny <List <KeyValuePair <string, string> > >(), It.IsAny <string>())) .Returns(new EmailAttachment { Data = null, Filename = "Practice Transitions.csv" }); 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 PracticeBuyEmailGenerator(razorEngine, attachmentGenerator.Object, mockMailSettingsOptions.Object); var request = sut.GenerateEmail(new BuyPracticeModel()); Assert.NotNull(request.Attachments.Single(a => a.Filename == "Practice Transitions.csv")); }