Beispiel #1
0
        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));
        }