diff --git a/JournalApp.Tests/DataPointViewTests.razor b/JournalApp.Tests/DataPointViewTests.razor index 800c117..089120d 100644 --- a/JournalApp.Tests/DataPointViewTests.razor +++ b/JournalApp.Tests/DataPointViewTests.razor @@ -27,9 +27,10 @@ // Click the emoji button to open the popover cut.Find(".emoji-button").Click(); - layout.FindAll("div.mud-popover-open").Count.Should().Be(1); + layout.WaitForAssertion(() => layout.FindAll("div.mud-popover-open").Count.Should().Be(1)); // Click the first emoji button in the popover + layout.WaitForAssertion(() => layout.FindAll(".emoji-popover-content .emoji-button").Count.Should().BeGreaterThan(0)); var emojiButtons = layout.FindAll(".emoji-popover-content .emoji-button"); emojiButtons[0].Click(); @@ -64,6 +65,7 @@ var sobEmoji = DataPoint.Moods[^1]; // Get the last mood (sob emoji) sobEmoji.Should().Be("😭"); // Verify it's the sob emoji + layout.WaitForAssertion(() => layout.FindAll(".emoji-popover-content .emoji-button").Count.Should().Be(DataPoint.Moods.Count)); var emojiButtons = layout.FindAll(".emoji-popover-content .emoji-button"); emojiButtons[^1].Click(); // Click the last emoji button (sob emoji) @@ -241,6 +243,7 @@ cut.Find("button[aria-label='Edit note']").Click(); + layout.WaitForAssertion(() => layout.HasComponent().Should().BeTrue()); var noteEditor = layout.FindComponent(); noteEditor.Find("textarea").Input("123"); layout.Find(".submit-button").Click(); @@ -249,6 +252,7 @@ cut.Find("button[aria-label='Edit note']").Click(); + layout.WaitForAssertion(() => layout.HasComponent().Should().BeTrue()); noteEditor = layout.FindComponent(); noteEditor.Find("textarea").Input("EXTRA TEXT THAT WILL BE DISCARDED"); layout.Find(".cancel-button").Click(); @@ -338,6 +342,7 @@ // Change dose to empty via dialog. cut.Find(".mud-link").Click(); + layout.WaitForAssertion(() => layout.HasComponent().Should().BeTrue()); var doseEditor = layout.FindComponent(); doseEditor.Find("input").Input(""); layout.Find(".submit-button").Click(); @@ -348,6 +353,7 @@ // Change dose via dialog. cut.Find(".mud-link").Click(); + layout.WaitForAssertion(() => layout.HasComponent().Should().BeTrue()); doseEditor = layout.FindComponent(); doseEditor.Find("input").Input("99"); layout.Find(".submit-button").Click(); @@ -358,6 +364,7 @@ // Cancel dialog. cut.Find(".mud-link").Click(); + layout.WaitForAssertion(() => layout.HasComponent().Should().BeTrue()); doseEditor = layout.FindComponent(); doseEditor.Find("input").Input("88"); layout.Find(".cancel-button").Click(); @@ -421,15 +428,15 @@ // Submit. cut.Find(".mud-link").Click(); - layout.FindAll(".mud-dialog").Count.Should().Be(1); + layout.WaitForAssertion(() => layout.FindAll(".mud-dialog").Count.Should().Be(1)); layout.Find(".submit-button").Click(); - layout.FindAll(".mud-dialog").Count.Should().Be(0); + layout.WaitForAssertion(() => layout.FindAll(".mud-dialog").Count.Should().Be(0)); // Cancel. cut.Find(".mud-link").Click(); - layout.FindAll(".mud-dialog").Count.Should().Be(1); + layout.WaitForAssertion(() => layout.FindAll(".mud-dialog").Count.Should().Be(1)); layout.Find(".cancel-button").Click(); - layout.FindAll(".mud-dialog").Count.Should().Be(0); + layout.WaitForAssertion(() => layout.FindAll(".mud-dialog").Count.Should().Be(0)); } [Fact] @@ -481,6 +488,7 @@ var cut = layout.FindComponent(); cut.Find("button[aria-label='Edit note']").Click(); + layout.WaitForAssertion(() => layout.HasComponent().Should().BeTrue()); layout.FindComponent().Find("textarea").Input("Updated"); layout.Find(".submit-button").Click(); diff --git a/JournalApp.Tests/ManageCategoriesTests.razor b/JournalApp.Tests/ManageCategoriesTests.razor index d190f19..2e36950 100644 --- a/JournalApp.Tests/ManageCategoriesTests.razor +++ b/JournalApp.Tests/ManageCategoriesTests.razor @@ -32,6 +32,7 @@ layout.Find($"#manage-category-{guid} > .manage-category-edit-button").HasAttribute("disabled").Should().BeFalse(); layout.Find($"#manage-category-{guid} > .manage-category-edit-button").Click(); + layout.WaitForAssertion(() => layout.HasComponent().Should().BeTrue()); var editDialog = layout.FindComponent(); // Assert. @@ -100,6 +101,7 @@ } layout.Find($"#manage-category-{guid} > .manage-category-edit-button").Click(); + layout.WaitForAssertion(() => layout.HasComponent().Should().BeTrue()); Category().Name.Should().Be("Physical activity"); layout.FindAll(".category-dialog .mud-input-text input")[0].Input("New name"); @@ -168,14 +170,14 @@ // Open the dialog to create a new category. layout.Find(".add-category-button").Click(); - layout.Markup.Should().Contain("New element"); + layout.WaitForAssertion(() => layout.Markup.Should().Contain("New element")); // Set up the new category. layout.FindAll(".category-dialog .mud-input-text input")[0].Input("New name"); // Submit changes and confirm there is a new category in the list. layout.Find(".category-dialog .submit-button").Click(); - layout.FindAll(".manage-category-edit-button").Count.Should().Be(initialCount + 1); + layout.WaitForAssertion(() => layout.FindAll(".manage-category-edit-button").Count.Should().Be(initialCount + 1)); } [Fact] @@ -193,14 +195,14 @@ // Open the dialog to create a new category. layout.Find(".add-category-button").Click(); - layout.Markup.Should().Contain("New medication"); + layout.WaitForAssertion(() => layout.Markup.Should().Contain("New medication")); // Set up the new category. layout.FindAll(".category-dialog .mud-input-text input")[0].Input("New name"); // Submit changes and confirm there is a new category in the list. layout.Find(".category-dialog .submit-button").Click(); - layout.FindAll(".manage-category-edit-button").Count.Should().Be(initialCount + 1); + layout.WaitForAssertion(() => layout.FindAll(".manage-category-edit-button").Count.Should().Be(initialCount + 1)); } [Fact]