public async Task ProcessAsync_GeneratesExpectedOutput() { // Arrange var context = new TagHelperContext( tagName: "govuk-button-link", allAttributes: new TagHelperAttributeList(), items: new Dictionary <object, object>(), uniqueId: "test"); var output = new TagHelperOutput( "govuk-button-link", attributes: new TagHelperAttributeList() { { "href", "http://foo.com" } }, getChildContentAsync: (useCachedResult, encoder) => { var tagHelperContent = new DefaultTagHelperContent(); tagHelperContent.SetContent("Button text"); return(Task.FromResult <TagHelperContent>(tagHelperContent)); }); var tagHelper = new ButtonLinkTagHelper(); // Act await tagHelper.ProcessAsync(context, output); // Assert var expectedHtml = @" <a class=""govuk-button"" data-module=""govuk-button"" draggable=""false"" href=""http://foo.com"" role=""button""> Button text </a>"; AssertEx.HtmlEqual(expectedHtml, output.RenderToString()); }
public async Task ProcessAsync_Disabled_AddsDisabledAttributesToOutput() { // Arrange var context = new TagHelperContext( tagName: "govuk-button-link", allAttributes: new TagHelperAttributeList(), items: new Dictionary <object, object>(), uniqueId: "test"); var output = new TagHelperOutput( "govuk-button-link", attributes: new TagHelperAttributeList() { { "href", "http://foo.com" } }, getChildContentAsync: (useCachedResult, encoder) => { var tagHelperContent = new DefaultTagHelperContent(); tagHelperContent.SetContent("Button text"); return(Task.FromResult <TagHelperContent>(tagHelperContent)); }); var tagHelper = new ButtonLinkTagHelper() { Disabled = true }; // Act await tagHelper.ProcessAsync(context, output); // Assert var element = output.RenderToElement(); Assert.Contains("govuk-button--disabled", element.ClassList); }
public async Task WhenButtonLinkTagHelperCalled_ThenCorrectClassCalled() { var tagHelper = Substitute.For <IMockViewComponentHelper>(); var componentTag = new ButtonLinkTagHelper(tagHelper) { AdditionalClass = "AdditionalClass", Id = "ID", LinkHref = "Link", LinkTabIndex = 1, LinkText = "Text", LinkTitle = "Title" }; string additionalClass = componentTag.AdditionalClass; string id = componentTag.Id; string linkHref = componentTag.LinkHref; int linkTabIndex = componentTag.LinkTabIndex; string linkText = componentTag.LinkText; string linkTitle = componentTag.LinkTitle; await ViewComponentTestHelper.CallTagHelper("ButtonLink", tagHelper, componentTag); }