コード例 #1
0
        public async Task AddTemplate_Should_Create_Template_In_Repository()
        {
            // Arrange.
            ITemplateManager manager = GetManager();
            var template             = new MessageTemplate
            {
                Name  = TestTemplateName,
                Title = TestTemplateTitle,
                Body  = TestTemplateBody
            };

            // Act.
            await manager.AddTemplate(template);

            // Assert.
            MessageTemplate created = await manager.GetTemplate(TestTemplateName);

            Assert.NotNull(created);
            Assert.Equal(template, created);
        }
コード例 #2
0
        public async Task AddTemplate_Should_Throw_Exception_On_Incorrect_Template_Fields(
            string name, string parent, string title, string body, Engines engine, string expectedMessage)
        {
            // Arrange.
            ITemplateManager manager = GetManager();
            var template             = new MessageTemplate
            {
                Name       = name,
                Title      = title,
                Body       = body,
                Parent     = parent,
                EngineType = engine
            };

            // Act.
            Exception exception = await Assert.ThrowsAnyAsync <Exception>(() => manager.AddTemplate(template));

            // Assert.
            Assert.Equal(expectedMessage, exception.Message
                         .Replace("\r", string.Empty)
                         .Replace("\n", string.Empty));
        }
コード例 #3
0
ファイル: TemplateService.cs プロジェクト: periface/SapTam
        public async Task AddTemplate(TemplateInput input)
        {
            if (string.IsNullOrEmpty(input.Content))
            {
                input.Content = string.Empty;
            }

            if (!string.IsNullOrEmpty(input.CopyFrom))
            {
                input.Content = (await _templateManager.GetTemplateContentAsync(input.CopyFrom)).Content;
            }

            var template = await _templateManager.GetTemplateContentAsync(input.TemplateName);

            if (template != null)
            {
                template.Content = input.Content;
                var resultEdit = await _templateManager.EditTemplate(template);

                if (resultEdit.HasError)
                {
                    throw new UserFriendlyException(L(resultEdit.ErrorMessage));
                }
                return;
            }

            var result = await _templateManager.AddTemplate(new TemplateInfo()
            {
                Content   = input.Content,
                IsPartial = input.IsPartial,
                Name      = input.TemplateName.Sluggify(),
            });

            if (result.HasError)
            {
                throw new UserFriendlyException(L(result.ErrorMessage));
            }
        }