using Bunit; using Microsoft.AspNetCore.Components; using ZB.MOM.WW.ScadaBridge.CentralUI.Components.Shared; namespace ZB.MOM.WW.ScadaBridge.CentralUI.Tests.Shared; /// Control names remain associated as search and selection values change. public class ControlLabelTests : BunitContext { /// Visible DataTable search label targets its instance-specific input. [Fact] public void TableSearch_HasAssociatedLabelAfterTyping() { var cut = Render>(p => p.Add(c => c.Items, new[] { "one", "two" }) .Add(c => c.ShowSearch, true).Add(c => c.HeaderContent, (RenderFragment)(b => b.AddContent(0, "Value"))) .Add(c => c.RowContent, (RenderFragment)(v => b => b.AddContent(0, v)))); var input = cut.Find("input"); Assert.False(string.IsNullOrEmpty(input.Id)); Assert.Equal("Search", cut.Find("label[for='" + input.Id + "']").TextContent.Trim()); input.Input("one"); Assert.NotNull(cut.Find("label[for='" + cut.Find("input").Id + "']")); } }