public MailGunMailServiceFixture() { var optionsMock = new Mock <IOptions <MailSecrets> >(); optionsMock.Setup(o => o.Value).Returns( () => new MailSecrets { MailGunServiceApiKey = ">>Update your API key<<" }); MailGunMailService = new MailGunMailService(optionsMock.Object); }
public MailController(IServiceProvider serviceProvider) { // to satisfy cases for initial unit tests if (serviceProvider == null) { return; } // since two implementation of the IMailService interface are injected in the startup, GetServices is used to resolved both of them var services = serviceProvider.GetServices <IMailService>(); // prevent possible enumaration of services IEnumarable var mailServices = services as IMailService[] ?? services.ToArray(); // resolving SendGrid mail service sendGridMailService = (SendGridMailService)mailServices.First(s => s.GetType() == typeof(SendGridMailService)); // resolving MailGun mail service mailGunMailService = (MailGunMailService)mailServices.First(s => s.GetType() == typeof(MailGunMailService)); }