public EmailSpoolerDependencies(ISimpleLogger logger)
 {
     Logger             = logger;
     DbContext          = new EmailContext();
     EmailConfig        = EmailConfiguration.CreateFromAppConfig();
     EmailSpoolerConfig = new EmailSpoolerConfig(logger);
     EmailGenerator     = () => new Email(EmailConfig);
 }
        public void Construct_ShouldSetEmailConfig()
        {
            //---------------Set up test pack-------------------
            var expected = EmailConfiguration.CreateFromAppConfig();

            //---------------Assert Precondition----------------

            //---------------Execute Test ----------------------
            var sut    = Create();
            var result = sut.EmailConfig;

            //---------------Test Result -----------------------
            Assert.IsNotNull(result);
            Assert.IsInstanceOf <EmailConfiguration>(result);
            PropertyAssert.AreDeepEqual(expected, result);
        }
        public void CreateFromAppConfig_SetsPropertiesFromConfig()
        {
            // test setup

            // pre-conditions

            // execute test
            var config = EmailConfiguration.CreateFromAppConfig();

            // test result
            Assert.IsNotNull(config.UserName);
            Assert.AreEqual("TestUser", config.UserName);
            Assert.IsNotNull(config.Host);
            Assert.AreEqual("TestHost", config.Host);
            Assert.AreEqual(587, config.Port);
            Assert.IsTrue(config.SSLEnabled);
        }