Exemple #1
0
 public MailService(
     IOptions <FsMail> fsMailOptions,
     StringInterpolationService stringInterpolationService,
     ISmtpClient smtpClient)
 {
     _fsMailOptions = fsMailOptions;
     _stringInterpolationService = stringInterpolationService;
     _smtpClient = smtpClient;
 }
        public void InterpolateShouldThrowExceptionOnInvalidKeys()
        {
            var emptyKey       = "{}";
            var nonExistingKey = "{hallo}";
            var testObject     = CreateTestObject();

            var target = new StringInterpolationService(_reflectionService);

            Assert.ThrowsException <ArgumentNullException>(() => target.Interpolate(emptyKey, testObject));
            Assert.ThrowsException <ArgumentNullException>(() => target.Interpolate(emptyKey, nonExistingKey));
        }
        public void InterpolateShouldEscapeDoubleBracket()
        {
            var testObject = CreateTestObject();

            var inputValue = "{{TestString}{TestInt}{TestDate}{TestChild.TestString}";
            var expected   = $"{{{{TestString}}{testObject.TestInt}{testObject.TestDate}{testObject.TestChild.TestString}";

            var target = new StringInterpolationService(_reflectionService);
            var actual = target.Interpolate(inputValue, testObject);

            Assert.AreEqual(expected, actual);
        }
        public void InterpolateShouldCorrectlyReplaceKeysInString()
        {
            var target     = new StringInterpolationService(_reflectionService);
            var testObject = CreateTestObject();

            var inputValue = "{TestString}{TestInt}{TestDate}{TestChild.TestString}";
            var expected   = $"{testObject.TestString}{testObject.TestInt}{testObject.TestDate}{testObject.TestChild.TestString}";

            var actual = target.Interpolate(inputValue, testObject);

            Assert.AreEqual(expected, actual);
        }
        public async Task ShouldSendMail()
        {
            var smtpClientMock = new Mock <ISmtpClient>();

            smtpClientMock.Setup(x => x.SendMailAsync(It.IsAny <MailMessage>())).Returns(Task.CompletedTask);
            var interpolationService = new StringInterpolationService(new ReflectionService());

            var mailOptionsMock = new OptionsMock <FsMail>(new FsMail {
                FromAddress = "*****@*****.**", Host = "123", Port = 123
            });
            var mailService = new MailService(mailOptionsMock, interpolationService, smtpClientMock.Object);

            var message = new MailMessage <TestModel>("*****@*****.**", "test subject", "test body {Test}", new TestModel());

            await mailService.SendMail(message);
        }