Esempio n. 1
0
        public async Task NestedTemplate_Test()
        {
            var configuration = DictionaryReplacementNotificationContent.DefaultConfiguration;

            var tokenStart = configuration.TokenStart;
            var tokenEnd   = configuration.TokenEnd;

            var template = new StringNotificationContent($"Hi {tokenStart}name{tokenEnd},\nYou have a thing due on {tokenStart}dueDate{tokenEnd}.");

            var replacements = new Dictionary <string, string>
            {
                ["name"]    = $"{tokenStart}currentUserFirstName{tokenEnd} {tokenStart}currentUserSurname{tokenEnd}",
                ["dueDate"] = "20/4/2018",
                ["currentUserFirstName"] = "Joe",
                ["currentUserSurname"]   = "Bloggs",
            };

            var expected = "Hi Joe Bloggs,\nYou have a thing due on 20/4/2018.";

            var content = new DictionaryReplacementNotificationContent(configuration, template, replacements);

            using (var tw = new StringWriter())
            {
                await content.ExecuteAsync(tw);

                var actual = tw.ToString();

                Assert.Equal(expected, actual);
            }
        }
Esempio n. 2
0
        public async Task MissingToken_Test()
        {
            var configuration = DictionaryReplacementNotificationContent.DefaultConfiguration;

            var tokenStart = configuration.TokenStart;
            var tokenEnd   = configuration.TokenEnd;

            var template = new StringNotificationContent($"Hi {tokenStart}firstName{tokenEnd},\nYou have a thing due on {tokenStart}dueDate{tokenEnd}.");

            var replacements = new Dictionary <string, string>
            {
                ["dueDate"] = "20/4/2018",
            };

            var expected = "Hi [INVALID_TOKEN:firstName],\nYou have a thing due on 20/4/2018.";

            var content = new DictionaryReplacementNotificationContent(configuration, template, replacements);

            using (var tw = new StringWriter())
            {
                await content.ExecuteAsync(tw);

                var actual = tw.ToString();

                Assert.Equal(expected, actual);
            }
        }
Esempio n. 3
0
        public async Task LotsOfSimpleTemplate_Test()
        {
            var configuration = DictionaryReplacementNotificationContent.DefaultConfiguration;

            var templateResult = this.Get_LotsOfSimpleTemplate_Test_Template(configuration);

            var template     = new StringNotificationContent(templateResult.Item1);
            var replacements = templateResult.Item2;
            var expected     = templateResult.Item3;

            var content = new DictionaryReplacementNotificationContent(configuration, template, replacements);

            using (var tw = new StringWriter())
            {
                await content.ExecuteAsync(tw);

                var actual = tw.ToString();

                Assert.Equal(expected, actual);
            }
        }