public async Task PostToFacebookTagHelper_GeneratedTagHelper_BlogPostRendersAsAnchorTag()
        {
            var postLink        = "some-great-post";
            var dasBlogSettings = new DasBlogSettingTest();

            var sut = new PostToFacebookTagHelper(dasBlogSettings)
            {
                Post = new PostViewModel {
                    PermaLink = postLink, EntryId = "F79DCB23-1536-4496-B6F3-109F05DEEE10"
                }
            };

            var context = new TagHelperContext(new TagHelperAttributeList(), new Dictionary <object, object>(), Guid.NewGuid().ToString("N"));
            var output  = new TagHelperOutput("editpost", new TagHelperAttributeList(), (useCachedResult, htmlEncoder) =>
            {
                var tagHelperContent = new DefaultTagHelperContent();
                tagHelperContent.SetContent(string.Empty);
                return(Task.FromResult <TagHelperContent>(tagHelperContent));
            });

            await sut.ProcessAsync(context, output);

            Assert.Same("a", output.TagName);

            var href = output.Attributes.FirstOrDefault(a => a.Name == "href")?.Value.ToString();

            Assert.NotNull(href);
            Assert.StartsWith("https://facebook.com/", href);

            var urlencodedBaseUrl = UrlEncoder.Default.Encode(dasBlogSettings.GetBaseUrl());

            Assert.Contains($"={urlencodedBaseUrl}{postLink}", href);
        }
Esempio n. 2
0
    public async Task PostToLinkedInTagHelper_GeneratedTagHelper_BlogPostRendersAsAnchorTag()
    {
        var postLink        = "what-is-lorem-ipsum";
        var dasBlogSettings = new DasBlogSettingTest();

        var sut = new PostToLinkedInTagHelper(dasBlogSettings)
        {
            Post = new PostViewModel {
                PermaLink = postLink, EntryId = "81c57569-3b41-46e5-a2c7-aea8681c380d"
            }
        };

        var context = new TagHelperContext(new TagHelperAttributeList(), new Dictionary <object, object>(), Guid.NewGuid().ToString("N"));
        var output  = new TagHelperOutput("editpost", new TagHelperAttributeList(), (useCachedResult, htmlEncoder) =>
        {
            var tagHelperContent = new DefaultTagHelperContent();
            tagHelperContent.SetContent(string.Empty);
            return(Task.FromResult <TagHelperContent>(tagHelperContent));
        });

        await sut.ProcessAsync(context, output);

        Assert.Same("a", output.TagName);

        var href = output.Attributes.FirstOrDefault(a => a.Name == "href")?.Value.ToString();

        Assert.NotNull(href);
        Assert.StartsWith("https://www.linkedin.com/", href);

        var urlencodedBaseUrl = UrlEncoder.Default.Encode(dasBlogSettings.GetBaseUrl());

        Assert.Contains($"={urlencodedBaseUrl}{postLink}", href);
    }
    public void CommentContentTagHelper_WhenCommentIsNull_ShouldNotThrow()
    {
        var dasBlogSettings = new DasBlogSettingTest();

        var helper  = new CommentContentTagHelper(dasBlogSettings);
        var context = new TagHelperContext(new TagHelperAttributeList(), new Dictionary <object, object>(), Guid.NewGuid().ToString("N"));
        var output  = new TagHelperOutput(string.Empty, new TagHelperAttributeList(), (_, _) => Task.FromResult <TagHelperContent>(new DefaultTagHelperContent()));

        helper.Process(context, output);

        Assert.Same("div", output.TagName);
        Assert.Equal("dbc-comment-content", output.Attributes[0].Value.ToString());
        Assert.Equal("", output.Content.GetContent().Trim());
    }