fix(centralui): NodeBrowserDialog — reset load/expand spinner on error + clear stale failure on blank search (T15)
This commit is contained in:
+28
@@ -124,4 +124,32 @@ public class NodeBrowserDialogSearchTests : BunitContext
|
||||
cut.Find("[data-test=node-search-button]").Click();
|
||||
Assert.Empty(cut.FindAll("[data-test=node-search-result]"));
|
||||
}
|
||||
|
||||
[Fact]
|
||||
public void BlankQueryAfterFailure_ClearsStaleFailureAlert()
|
||||
{
|
||||
// First search returns a failure so the alert banner appears.
|
||||
_browse.SearchAsync(
|
||||
Arg.Any<string>(), Arg.Any<string>(), Arg.Any<string>(),
|
||||
Arg.Any<int>(), Arg.Any<int>(), Arg.Any<CancellationToken>())
|
||||
.Returns(new SearchAddressSpaceResult(
|
||||
Matches: Array.Empty<AddressSpaceMatch>(),
|
||||
CapReached: false,
|
||||
Failure: new BrowseFailure(BrowseFailureKind.Timeout, "timed out")));
|
||||
|
||||
var cut = RenderShown(out _);
|
||||
|
||||
cut.Find("[data-test=node-search-input]").Input("Pump1");
|
||||
cut.Find("[data-test=node-search-button]").Click();
|
||||
|
||||
// The failure alert must be visible after the failed search.
|
||||
Assert.NotEmpty(cut.FindAll(".alert-danger"));
|
||||
|
||||
// User clears the query and searches again (blank).
|
||||
cut.Find("[data-test=node-search-input]").Input("");
|
||||
cut.Find("[data-test=node-search-button]").Click();
|
||||
|
||||
// Stale failure alert must be gone.
|
||||
Assert.Empty(cut.FindAll(".alert-danger"));
|
||||
}
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user