Пример #1
0
        public async Task Publish_if_code_block_is_empty()
        {
            var draft   = new Draft();
            var command = new DraftUpdateCommand
            {
                Title    = "JS",
                Summary  = "Learn JS",
                Tags     = "js",
                Language = Language.English,
                Content  = "<p>text</p><pre class=\"code\"> </code>"
            };

            draft.Update(command);
            var result = await draft.Publish(_dateProvider, _htmlProcesssor);

            result.Failed.Should().BeFalse();
        }
Пример #2
0
        public async Task Dont_publish_if_language_of_code_block_is_not_specified()
        {
            var draft   = new Draft();
            var command = new DraftUpdateCommand
            {
                Title    = "JS",
                Summary  = "Learn JS",
                Tags     = "js",
                Language = Language.English,
                Content  = "<pre class=\"code\">some code</code>"
            };

            draft.Update(command);
            var result = await draft.Publish(_dateProvider, _htmlProcesssor);

            result.Failed.Should().BeTrue();
            result.Errors.Should().ContainEquivalentOf("Language is not specified for the code block #1");
        }
Пример #3
0
        public void Update_values()
        {
            var draft   = new Draft();
            var command = new DraftUpdateCommand
            {
                Title    = "JS",
                Summary  = "Learn JS",
                Tags     = "ts, js",
                Language = Language.English,
                Content  = "<p>text</p>"
            };

            draft.Update(command);

            draft.Title.Should().Be("JS");
            draft.Summary.Should().Be("Learn JS");
            draft.Tags.Should().Be("ts, js");
            draft.Language.Should().Be(Language.English);
            draft.Content.Should().Be("<p>text</p>");
        }
Пример #4
0
        public async Task <Result> Handle(DraftPreviewQuery request, CancellationToken cancellationToken)
        {
            var draft      = new Draft();
            var updateInfo = _mapper.Map <DraftUpdateCommand>(request);

            updateInfo.Summary = "Not Important";
            var updateResult = draft.Update(updateInfo);

            if (updateResult.Failed)
            {
                return(Result.MakeFailure(updateResult));
            }

            var publishResult = await draft.Publish(_dateProvider, _htmlProcessor);

            if (publishResult.Failed)
            {
                return(Result.MakeFailure(publishResult));
            }

            return(Result.MakeSuccess(_mapper.Map <PostViewModel>(draft.Post)));
        }
Пример #5
0
        public async Task Dont_publish_if_code_block_language_is_invalid()
        {
            var draft   = new Draft();
            var command = new DraftUpdateCommand
            {
                Title    = "JS",
                Summary  = "Learn JS",
                Tags     = "js",
                Language = Language.English,
                Content  = "<pre class=\"code\">\nclojure\nsome code</code>"
            };

            draft.Update(command);
            var result = await draft.Publish(_dateProvider, _htmlProcesssor);

            result.Failed.Should().BeTrue();

            result.Errors
            .First()
            .Should()
            .StartWith("Specified language in code block #1 is not valid");
        }