Skip to content

Commit

Permalink
Tests: Fix some missing awaits (#5684)
Browse files Browse the repository at this point in the history
  • Loading branch information
mikes-gh committed Nov 8, 2022
1 parent 50ff5d7 commit 6312a44
Show file tree
Hide file tree
Showing 4 changed files with 35 additions and 36 deletions.
6 changes: 3 additions & 3 deletions src/MudBlazor.UnitTests/Components/AutocompleteTests.cs
Original file line number Diff line number Diff line change
Expand Up @@ -38,7 +38,7 @@ public async Task AutocompleteTest1()
// select elements needed for the test
var autocompletecomp = comp.FindComponent<MudAutocomplete<string>>();
var autocomplete = autocompletecomp.Instance;
await comp.InvokeAsync(() => autocomplete.FocusAsync());
await comp.InvokeAsync(async () => await autocomplete.FocusAsync());
//No popover-open, due it's closed
comp.Markup.Should().NotContain("mud-popover-open");

Expand Down Expand Up @@ -792,8 +792,8 @@ public async Task Autocomplete_ChangeBoundValue()
comp.WaitForAssertion(() => autocomplete.IsOpen.Should().BeTrue());
await comp.InvokeAsync(() => autocomplete.OnEnterKey());
autocompletecomp.Find("input").Input("abc");
await comp.InvokeAsync(() => autocomplete.SelectAsync());
await comp.InvokeAsync(() => autocomplete.SelectRangeAsync(0, 1));
await comp.InvokeAsync(async () => await autocomplete.SelectAsync());
await comp.InvokeAsync(async () => await autocomplete.SelectRangeAsync(0, 1));
autocompletecomp.Find("input").Input("");
await comp.InvokeAsync(() => autocomplete.ToggleMenu());
comp.WaitForAssertion(() => autocomplete.IsOpen.Should().BeTrue());
Expand Down
22 changes: 11 additions & 11 deletions src/MudBlazor.UnitTests/Components/MaskTests .cs
Original file line number Diff line number Diff line change
Expand Up @@ -580,26 +580,26 @@ public async Task MaskTest_MoreCoverage()
var maskField = comp.Instance;
var impl = maskField.Mask;
comp.WaitForAssertion(() => maskField.GetInputType().Should().Be(InputType.Text));

await comp.InvokeAsync(() => maskField.OnCaretPositionChanged(2));
comp.WaitForAssertion(() => impl.CaretPos.Should().Be(2));

comp.SetParam("Mask", new PatternMask("*00 000") { Placeholder = '_', CleanDelimiters = true });

await comp.InvokeAsync(() => maskField.OnCopy());
await comp.InvokeAsync(() => maskField.FocusAsync());
await comp.InvokeAsync(async () => await maskField.FocusAsync());
await comp.InvokeAsync(() => maskField.HandleKeyDown(new KeyboardEventArgs() { Key = "1" }));
comp.WaitForAssertion(() => maskField.Text.Should().Be("1__ ___"));
comp.WaitForAssertion(() => maskField.Value.Should().Be("1"));
await comp.InvokeAsync(() => maskField.SelectAsync());

await comp.InvokeAsync(async () => await maskField.SelectAsync());
await comp.InvokeAsync(() => maskField.OnCaretPositionChanged(0));
await comp.InvokeAsync(() => maskField.SelectRangeAsync(0, 7));
await comp.InvokeAsync(async () => await maskField.SelectRangeAsync(0, 7));
await comp.InvokeAsync(() => maskField.OnSelect(0, 7));
await comp.InvokeAsync(() => maskField.HandleKeyDown(new KeyboardEventArgs() { Key = "2" }));
comp.WaitForAssertion(() => maskField.Text.Should().Be("2__ ___"));
comp.WaitForAssertion(() => maskField.Value.Should().Be("2"));

await comp.InvokeAsync(() => maskField.OnCaretPositionChanged(0));
await comp.InvokeAsync(() => maskField.OnFocused(new FocusEventArgs()));
comp.SetParam("Text", "123");
Expand All @@ -622,15 +622,15 @@ public async Task MaskTest_MoreCoverage()
comp.SetParam("Mask", null);
comp.WaitForAssertion(() => maskField.Mask.Should().NotBeNull());
comp.SetParam("Mask", new PatternMask("*00 000") { CleanDelimiters = true });

// selection is not cleared by caret on edge of selection
await comp.InvokeAsync(() => maskField.OnSelect(0, 1));
await comp.InvokeAsync(() => maskField.OnCaretPositionChanged(0));
comp.WaitForAssertion(() => maskField.Mask.Selection.Should().NotBeNull());
// only if caret is moved outside
await comp.InvokeAsync(() => maskField.OnCaretPositionChanged(2));
comp.WaitForAssertion(() => maskField.Mask.Selection.Should().BeNull());

// pasting null doesn't do anything
await comp.InvokeAsync(() => maskField.OnPaste("123"));
comp.WaitForAssertion(() => maskField.Mask.ToString().Should().Be("123 |"));
Expand Down Expand Up @@ -688,9 +688,9 @@ public async Task FormReset_Should_ClearMaskedField()
comp.WaitForAssertion(() => textField.Text.Should().BeNullOrEmpty());
comp.WaitForAssertion(() => textField.Value.Should().BeNullOrEmpty());

await comp.InvokeAsync(() => textField.FocusAsync());
await comp.InvokeAsync(() => textField.SelectAsync());
await comp.InvokeAsync(() => textField.SelectRangeAsync(0, 1));
await comp.InvokeAsync(async () => await textField.FocusAsync());
await comp.InvokeAsync(async () => await textField.SelectAsync());
await comp.InvokeAsync(async () => await textField.SelectRangeAsync(0, 1));
await comp.InvokeAsync(() => textField.Clear());
comp.WaitForAssertion(() => textField.Value.Should().Be(null));

Expand Down
5 changes: 2 additions & 3 deletions src/MudBlazor.UnitTests/Components/PickerTests.cs
Original file line number Diff line number Diff line change
Expand Up @@ -25,10 +25,9 @@ public async Task PickerTest_Fundamentals()
{
var comp = Context.RenderComponent<SimplePickerTest>();
var picker = comp.FindComponent<MudPicker<DateTime?>>();


await comp.InvokeAsync(() => picker.Instance.SelectAsync());
await comp.InvokeAsync(() => picker.Instance.SelectRangeAsync(0, 0));
await comp.InvokeAsync(async () => await picker.Instance.SelectAsync());
await comp.InvokeAsync(async () => await picker.Instance.SelectRangeAsync(0, 0));
#pragma warning disable BL0005
await comp.InvokeAsync(() => picker.Instance.Disabled = true);
await comp.InvokeAsync(() => picker.Instance.HandleKeyDown(new KeyboardEventArgs()));
Expand Down
38 changes: 19 additions & 19 deletions src/MudBlazor.UnitTests/Components/TextFieldTests.cs
Original file line number Diff line number Diff line change
Expand Up @@ -37,7 +37,7 @@ public void TestFieldLabelFor()
label[0].Attributes.GetNamedItem("for")?.Value.Should().Be("textFieldLabelTest");
label[1].Attributes.GetNamedItem("for")?.Value.Should().StartWith("mudinput-");
}

/// <summary>
/// Initial Text for double should be 0, with F1 format it should be 0.0
/// </summary>
Expand All @@ -50,7 +50,7 @@ public async Task TextFieldLabelFor()
label[1].Attributes.GetNamedItem("for")?.Value.Should().StartWith("mudinput-");
label[2].Attributes.GetNamedItem("for")?.Value.Should().Be("fieldLabelTest");
}

/// <summary>
/// Initial Text for double should be 0, with F1 format it should be 0.0
/// </summary>
Expand Down Expand Up @@ -658,15 +658,15 @@ public async Task TextField_Should_UpdateOnBoundValueChange_WhenFocused_WithText
comp.WaitForAssertion(() => input.Instance.Value.Should().Be(""));
comp.WaitForAssertion(() => input.Instance.Text.Should().Be(""));
}

[Test]
public async Task TextField_ElementReferenceId_ShouldNot_BeEmpty()
{
var comp = Context.RenderComponent<MudTextField<string>>();
var inputId = comp.Instance.InputReference.ElementReference.Id;

Assert.IsNotEmpty(inputId);
}
}

class TestDataAnnotationModel
{
Expand Down Expand Up @@ -734,19 +734,19 @@ public async Task TextField_Data_Annotation_Compare()
comp.Instance.ValidationErrors.Should().HaveCount(0);

comp.WaitForAssertion(() => comp.Instance.GetInputType().Should().Be(InputType.Text));
await comp.InvokeAsync(() => comp.Instance.SelectAsync());
await comp.InvokeAsync(() => comp.Instance.SelectRangeAsync(0, 1));
await comp.InvokeAsync(async () => await comp.Instance.SelectAsync());
await comp.InvokeAsync(async () => await comp.Instance.SelectRangeAsync(0, 1));
comp.WaitForAssertion(() => comp.Instance.ValidationErrors.Should().HaveCount(0));
}

[Test]
public async Task TextField_OnlyValidateIfDirty_Is_True_Should_OnlyHaveInputErrorWhenValueChanged()
{
var comp = Context.RenderComponent<MudTextField<int?>>(
ComponentParameter.CreateParameter("Required", true),
ComponentParameter.CreateParameter("OnlyValidateIfDirty", true));
comp.FindAll("div.mud-input-error").Count.Should().Be(0);

// user does not change input value but changes focus
comp.Find("input").Blur();
comp.FindAll("div.mud-input-error").Count.Should().Be(0);
Expand All @@ -756,60 +756,60 @@ public async Task TextField_OnlyValidateIfDirty_Is_True_Should_OnlyHaveInputErro
comp.Find("input").Blur();
comp.FindAll("div.mud-input-error").Count.Should().Be(1);
comp.Find("div.mud-input-error").TextContent.Trim().Should().Be("Not a valid number");

// user does not change invalid input value but changes focus
comp.Find("input").Blur();
comp.FindAll("div.mud-input-error").Count.Should().Be(1);
comp.Find("div.mud-input-error").TextContent.Trim().Should().Be("Not a valid number");

// reset (must reset dirty state)
await comp.InvokeAsync(() => comp.Instance.Reset());
comp.FindAll("div.mud-input-error").Count.Should().Be(0);

// user does not change input value but changes focus
comp.Find("input").Blur();
comp.FindAll("div.mud-input-error").Count.Should().Be(0);

// user puts in a invalid integer value
comp.Find("input").Change("invalid");
comp.Find("input").Blur();
comp.FindAll("div.mud-input-error").Count.Should().Be(1);
comp.Find("div.mud-input-error").TextContent.Trim().Should().Be("Not a valid number");

// user corrects input
comp.Find("input").Change(55);
comp.Find("input").Blur();
comp.FindAll("div.mud-input-error").Count.Should().Be(0);
}

[Test]
public async Task TextField_OnlyValidateIfDirty_Is_False_Should_HaveInputErrorWhenFocusChanged()
{
var comp = Context.RenderComponent<MudTextField<int?>>(
ComponentParameter.CreateParameter("Required", true),
ComponentParameter.CreateParameter("OnlyValidateIfDirty", false));
comp.FindAll("div.mud-input-error").Count.Should().Be(0);

// user does not change input value but changes focus
comp.Find("input").Blur();
comp.FindAll("div.mud-input-error").Count.Should().Be(2);
comp.Find("div.mud-input-error").TextContent.Trim().Should().Be("Required");

// user puts in a invalid integer value
comp.Find("input").Change("invalid");
comp.Find("input").Blur();
comp.FindAll("div.mud-input-error").Count.Should().Be(2);
comp.Find("div.mud-input-error").TextContent.Trim().Should().Be("Not a valid number");

// reset
await comp.InvokeAsync(() => comp.Instance.Reset());
comp.FindAll("div.mud-input-error").Count.Should().Be(0);

// user does not change input value but changes focus
comp.Find("input").Blur();
comp.FindAll("div.mud-input-error").Count.Should().Be(2);
comp.Find("div.mud-input-error").TextContent.Trim().Should().Be("Required");

// user corrects input
comp.Find("input").Change(55);
comp.Find("input").Blur();
Expand Down

0 comments on commit 6312a44

Please sign in to comment.