public void GenerateHint_NonEmptyHint_AddsHintIdToDescribedBy() { // Arrange var tagHelperContext = new TagHelperContext( tagName: "test", allAttributes: new TagHelperAttributeList(), items: new Dictionary <object, object>(), uniqueId: "test"); var formGroupContext = new TestFormGroupContext(); formGroupContext.SetHint(attributes: null, content: new HtmlString("Hint")); var modelHelper = new Mock <IModelHelper>(); var tagHelper = new TestFormGroupTagHelper(new ComponentGenerator(), modelHelper.Object) { Id = "test" }; // Act var hint = tagHelper.GenerateHint(tagHelperContext, formGroupContext); // Assert var element = hint.RenderToElement(); Assert.Equal("test-hint", element.GetAttribute("id")); Assert.Contains("test-hint", tagHelper.DescribedBy?.Split(' ') ?? Array.Empty <string>()); }
public void GenerateHint_NonEmptyModelMetadataDescription_ReturnsContent() { // Arrange var formGroupContext = new TestFormGroupContext(); var tagHelperContext = new TagHelperContext( tagName: "test", allAttributes: new TagHelperAttributeList(), items: new Dictionary <object, object>(), uniqueId: "test"); var modelExplorer = new EmptyModelMetadataProvider().GetModelExplorerForType(typeof(Model), new Model()) .GetExplorerForProperty(nameof(Model.SimpleProperty)); var viewContext = new ViewContext(); var modelExpression = nameof(Model.SimpleProperty); var modelHelper = new Mock <IModelHelper>(); modelHelper.Setup(mock => mock.GetDescription(modelExplorer)).Returns("ModelState hint"); var tagHelper = new TestFormGroupTagHelper(new ComponentGenerator(), modelHelper.Object) { AspFor = new ModelExpression(modelExpression, modelExplorer), Id = "test", ViewContext = viewContext }; // Act var hint = tagHelper.GenerateHint(tagHelperContext, formGroupContext); // Assert Assert.NotNull(hint); }
public void GenerateHint_HintOnContext_ReturnsContent() { // Arrange var tagHelperContext = new TagHelperContext( tagName: "test", allAttributes: new TagHelperAttributeList(), items: new Dictionary <object, object>(), uniqueId: "test"); var formGroupContext = new TestFormGroupContext(); formGroupContext.SetHint(attributes: null, content: new HtmlString("Hint")); var modelHelper = new Mock <IModelHelper>(); var tagHelper = new TestFormGroupTagHelper(new ComponentGenerator(), modelHelper.Object) { Id = "test" }; // Act var hint = tagHelper.GenerateHint(tagHelperContext, formGroupContext); // Assert Assert.NotNull(hint); }
public void GenerateHint_EmptyHint_DoesNotAddHintIdToDescribedBy() { // Arrange var tagHelperContext = new TagHelperContext( tagName: "test", allAttributes: new TagHelperAttributeList(), items: new Dictionary <object, object>(), uniqueId: "test"); var formGroupContext = new TestFormGroupContext(); var modelHelper = new Mock <IModelHelper>(); var tagHelper = new TestFormGroupTagHelper(new ComponentGenerator(), modelHelper.Object) { Id = "test" }; // Act tagHelper.GenerateHint(tagHelperContext, formGroupContext); // Assert Assert.DoesNotContain("test-hint", tagHelper.DescribedBy?.Split(' ') ?? Array.Empty <string>()); }
public void GenerateHint_NoHintOnContextOrModelMetadataDescription_ReturnsNull() { // Arrange var tagHelperContext = new TagHelperContext( tagName: "test", allAttributes: new TagHelperAttributeList(), items: new Dictionary <object, object>(), uniqueId: "test"); var formGroupContext = new TestFormGroupContext(); var modelHelper = new Mock <IModelHelper>(); var tagHelper = new TestFormGroupTagHelper(new ComponentGenerator(), modelHelper.Object) { Id = "test" }; // Act var hint = tagHelper.GenerateHint(tagHelperContext, formGroupContext); // Assert Assert.Null(hint); }