Skip to content

Commit 37d3326

Browse files
committed
test: 增加不可为空整形设置 IsClearable 单元测试
1 parent 4e58224 commit 37d3326

File tree

1 file changed

+22
-7
lines changed

1 file changed

+22
-7
lines changed

test/UnitTest/Components/SelectTest.cs

Lines changed: 22 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -135,7 +135,7 @@ public void Select_Lookup()
135135
}
136136

137137
[Fact]
138-
public void IsClearable_Ok()
138+
public async Task IsClearable_Ok()
139139
{
140140
var val = "Test2";
141141
var cut = Context.RenderComponent<Select<string>>(pb =>
@@ -155,8 +155,8 @@ public void IsClearable_Ok()
155155
});
156156
});
157157
var clearButton = cut.Find(".clear-icon");
158-
cut.InvokeAsync(() => clearButton.Click());
159-
Assert.Empty(val);
158+
await cut.InvokeAsync(() => clearButton.Click());
159+
Assert.Null(val);
160160

161161
// 提高代码覆盖率
162162
var select = cut;
@@ -175,6 +175,21 @@ public void IsClearable_Ok()
175175
validPi.SetValue(select.Instance, false);
176176
val = pi.GetValue(select.Instance, null)!.ToString();
177177
Assert.Contains("text-danger", val);
178+
179+
// 更改数据类型为不可为空 int
180+
// IsClearable 参数无效
181+
var cut1 = Context.RenderComponent<Select<int>>(pb =>
182+
{
183+
pb.Add(a => a.IsClearable, true);
184+
pb.Add(a => a.Items, new List<SelectedItem>()
185+
{
186+
new("1", "Test1"),
187+
new("2", "Test2"),
188+
new("3", "Test3")
189+
});
190+
pb.Add(a => a.Value, 1);
191+
});
192+
cut1.DoesNotContain("clear-icon");
178193
}
179194

180195
[Fact]
@@ -811,8 +826,8 @@ public async Task IsVirtualize_Items_Clearable_Ok()
811826
var button = cut.Find(".clear-icon");
812827
await cut.InvokeAsync(() => button.Click());
813828

814-
// UI 恢复 Test1
815-
Assert.Equal("Test1", el.Value);
829+
// 可为空数据类型 UI 为 ""
830+
Assert.Equal("", el.Value);
816831

817832
// 下拉框显示所有选项
818833
items = cut.FindAll(".dropdown-item");
@@ -870,8 +885,8 @@ public async Task IsVirtualize_OnQueryAsync_Clearable_Ok()
870885
var button = cut.Find(".clear-icon");
871886
await cut.InvokeAsync(() => button.Click());
872887

873-
// UI 恢复 Test1
874-
Assert.Equal("All", el.Value);
888+
// 可为空数据类型 UI 为 ""
889+
Assert.Equal("", el.Value);
875890

876891
// 下拉框显示所有选项
877892
Assert.True(query);

0 commit comments

Comments
 (0)