Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
Original file line number Diff line number Diff line change
Expand Up @@ -5,7 +5,7 @@
IsUnderlined="@IsUnderlined"
AriaLabel="@AriaLabel"
DefaultValue="@DefaultValue"
ShowIcon="ShowIcon"
FixedIcon="ShowIcon"
OnChange="HandleChange"
Autocomplete="@AutoComplete">
</BitSearchBox>
Expand Down
113 changes: 57 additions & 56 deletions src/BlazorUI/Bit.BlazorUI.Tests/SearchBoxes/BitSearchBoxTests.cs
Original file line number Diff line number Diff line change
Expand Up @@ -6,57 +6,64 @@ namespace Bit.BlazorUI.Tests.SearchBoxes;
[TestClass]
public class BitSearchBoxTests : BunitTestContext
{
[DataTestMethod, DataRow("Search"), DataRow("Filter")]
public void SearchBox_Placeholder_MeetEnteredValue(string componentPlaceholder)
[DataTestMethod,
DataRow("Search"),
DataRow("Filter")]
public void SearchBoxPlaceholderMeetEnteredValue(string componentPlaceholder)
{
var component = RenderComponent<BitSearchBoxTest>(parameter =>
parameter.Add(p => p.Placeholder, componentPlaceholder));
var component = RenderComponent<BitSearchBoxTest>(parameter => parameter.Add(p => p.Placeholder, componentPlaceholder));

var input = component.Find(".input");

var inputPlaceholder = input.GetAttribute("placeholder");

Assert.AreEqual(componentPlaceholder, inputPlaceholder);
}

[DataTestMethod, DataRow("Search"), DataRow("Closed Issue"), DataRow("fake value")]
public void SearchBox_DefaultValue_MeetEnteredValue(string value)
[DataTestMethod,
DataRow("Search"),
DataRow("Closed Issue"),
DataRow("fake value")]
public void SearchBoxDefaultValueMeetEnteredValue(string value)
{
var component = RenderComponent<BitSearchBoxTest>(parameter =>
parameter.Add(p => p.Value, value));
var component = RenderComponent<BitSearchBoxTest>(parameter => parameter.Add(p => p.Value, value));

var input = component.Find(".input");

var inputValue = input.GetAttribute("value");

Assert.AreEqual(value, inputValue);
}

[DataTestMethod, DataRow(true), DataRow(false)]
public void SearchBox_NoAnimation_ShouldHaveClassName(bool disableAnimation)
[DataTestMethod,
DataRow(true),
DataRow(false)]
public void SearchBoxNoAnimationShouldHaveClassName(bool disableAnimation)
{
var component = RenderComponent<BitSearchBoxTest>(parameter =>
parameter.Add(p => p.DisableAnimation, disableAnimation));
var searchBox = component.Find(".bit-srb-fluent");
var component = RenderComponent<BitSearchBoxTest>(parameter => parameter.Add(p => p.DisableAnimation, disableAnimation));

var searchBox = component.Find(".bit-srb");

Assert.AreEqual(disableAnimation, searchBox.ClassList.Contains("bit-srb-no-animation-fluent"));
Assert.AreEqual(disableAnimation, searchBox.ClassList.Contains("no-animation"));
}

[DataTestMethod, DataRow(true), DataRow(false)]
public void SearchBox_Underlined_ShouldHaveClassName(bool isUnderlined)
[DataTestMethod,
DataRow(true),
DataRow(false)]
public void SearchBoxUnderlinedShouldHaveClassName(bool isUnderlined)
{
var component = RenderComponent<BitSearchBoxTest>(parameter =>
parameter.Add(p => p.IsUnderlined, isUnderlined));
var searchBox = component.Find(".bit-srb-fluent");
var component = RenderComponent<BitSearchBoxTest>(parameter => parameter.Add(p => p.IsUnderlined, isUnderlined));

var searchBox = component.Find(".bit-srb");

Assert.AreEqual(isUnderlined, searchBox.ClassList.Contains("bit-srb-underlined-fluent"));
Assert.AreEqual(isUnderlined, searchBox.ClassList.Contains("underlined"));
}

[DataTestMethod, DataRow("Detailed label")]
[DataTestMethod,
DataRow("Detailed label")]
public void BitSearchBoxAriaLabelTest(string ariaLabel)
{
var com = RenderComponent<BitSearchBoxTest>(parameters =>
{
parameters.Add(p => p.AriaLabel, ariaLabel);
});
var com = RenderComponent<BitSearchBoxTest>(parameters => parameters.Add(p => p.AriaLabel, ariaLabel));

var bitSearchBox = com.Find(".input");

Expand All @@ -70,12 +77,11 @@ public void BitSearchBoxAriaLabelTest(string ariaLabel)
]
public void BitSearchBoxShouldTakeDefaultValue(string value, string defaultValue)
{
var component = RenderComponent<BitSearchBoxTest>(
parameters =>
{
parameters.Add(p => p.Value, value);
parameters.Add(p => p.DefaultValue, defaultValue);
});
var component = RenderComponent<BitSearchBoxTest>(parameters =>
{
parameters.Add(p => p.Value, value);
parameters.Add(p => p.DefaultValue, defaultValue);
});

var input = component.Find(".input");
var actualValue = string.IsNullOrEmpty(value) ? defaultValue : value;
Expand All @@ -87,17 +93,17 @@ public void BitSearchBoxShouldTakeDefaultValue(string value, string defaultValue
DataRow("hello world", true),
DataRow("hello world", false)
]
public void BitSearchBoxdMustShowSearchIconEvenHasValueWhenShowIconTrue(string value, bool showIcon)
public void BitSearchBoxedMustShowSearchIconEvenHasValueWhenShowIconTrue(string value, bool showIcon)
{
var component = RenderComponent<BitSearchBoxTest>(
parameters =>
{
parameters.Add(p => p.Value, value);
parameters.Add(p => p.ShowIcon, showIcon);
});
var component = RenderComponent<BitSearchBoxTest>(parameters =>
{
parameters.Add(p => p.Value, value);
parameters.Add(p => p.ShowIcon, showIcon);
});

var bitSearchBox = component.Find(".bit-srb");
Assert.AreEqual(showIcon, bitSearchBox.ClassList.Contains("bit-srb-fixed-icon-has-value-fluent"));

Assert.AreEqual(showIcon, bitSearchBox.ClassList.Contains("fixed-icon-has-value"));
}

[DataTestMethod,
Expand All @@ -106,12 +112,13 @@ public void BitSearchBoxdMustShowSearchIconEvenHasValueWhenShowIconTrue(string v
]
public void BitSearchBoxMustRespondToTheChangeEvent(bool isEnabled)
{
var component = RenderComponent<BitSearchBoxTest>(
parameters =>
{
parameters.Add(p => p.IsEnabled, isEnabled);
});
var component = RenderComponent<BitSearchBoxTest>(parameters =>
{
parameters.Add(p => p.IsEnabled, isEnabled);
});

var input = component.Find(".input");

//TODO: bypassed - BUnit oninput event issue
//input.KeyDown("a");
//Assert.AreEqual(isEnabled ? 1 : 0, component.Instance.CurrentCount);
Expand Down Expand Up @@ -223,33 +230,27 @@ public void BitSearchBoxValidationInvalidHtmlAttributeTest(string value)
}

[DataTestMethod,
DataRow(Visual.Fluent, "abc123"),
DataRow(Visual.Fluent, "test@bit.com"),
DataRow(Visual.Cupertino, "abc123"),
DataRow(Visual.Cupertino, "test@bit.com"),
DataRow(Visual.Material, "abc123"),
DataRow(Visual.Material, "test@bit.com"),
DataRow("abc123"),
DataRow("test@bit.com")
]
public void BitSearchBoxValidationInvalidCssClassTest(Visual visual, string value)
public void BitSearchBoxValidationInvalidCssClassTest(string value)
{
var component = RenderComponent<BitSearchBoxValidationTest>(parameters =>
{
parameters.Add(p => p.TestModel, new BitSearchBoxTestModel { Value = value });
parameters.Add(p => p.IsEnabled, true);
parameters.Add(p => p.Visual, visual);
});

var isInvalid = value != "test@bit.com";

var bitSearchBox = component.Find(".bit-srb");
var visualClass = visual == Visual.Cupertino ? "cupertino" : visual == Visual.Material ? "material" : "fluent";

Assert.IsFalse(bitSearchBox.ClassList.Contains($"bit-srb-invalid-{visualClass}"));
Assert.IsFalse(bitSearchBox.ClassList.Contains("invalid"));

var form = component.Find("form");
form.Submit();

Assert.AreEqual(bitSearchBox.ClassList.Contains($"bit-srb-invalid-{visualClass}"), isInvalid);
Assert.AreEqual(bitSearchBox.ClassList.Contains("invalid"), isInvalid);

var input = component.Find("input");
if (isInvalid)
Expand All @@ -261,6 +262,6 @@ public void BitSearchBoxValidationInvalidCssClassTest(Visual visual, string valu
input.Input("abc123");
}

Assert.AreEqual(bitSearchBox.ClassList.Contains($"bit-srb-invalid-{visualClass}"), !isInvalid);
Assert.AreEqual(bitSearchBox.ClassList.Contains("invalid"), !isInvalid);
}
}
Original file line number Diff line number Diff line change
Expand Up @@ -9,7 +9,7 @@
IsUnderlined="@IsUnderlined"
AriaLabel="@AriaLabel"
DefaultValue="@DefaultValue"
ShowIcon="ShowIcon"
FixedIcon="ShowIcon"
OnChange="HandleChange"
Autocomplete="@AutoComplete">
</BitSearchBox>
Expand Down
Loading