Skip to content

Commit 556b7a1

Browse files
committed
test: 增加单元测试
1 parent 5f90f73 commit 556b7a1

File tree

1 file changed

+34
-0
lines changed

1 file changed

+34
-0
lines changed

test/UnitTest/Components/DateTimePickerTest.cs

Lines changed: 34 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -322,6 +322,7 @@ public void SwitchTimeView_Ok()
322322
{
323323
builder.Add(a => a.Value, new DateTime(2023, 10, 1, 1, 0, 0));
324324
builder.Add(a => a.ViewMode, DatePickerViewMode.DateTime);
325+
builder.Add(a => a.PickTimeMode, PickTimeMode.Clock);
325326
});
326327

327328
var labels = cut.FindAll(".picker-panel-header-label");
@@ -354,6 +355,39 @@ public void NotDateTime_Error()
354355
Context.RenderComponent<DateTimePicker<int>>();
355356
});
356357
}
358+
359+
[Fact]
360+
public async Task PickTimeMode_Ok()
361+
{
362+
var cut = Context.RenderComponent<DatePickerBody>(builder =>
363+
{
364+
builder.Add(a => a.ViewMode, DatePickerViewMode.DateTime);
365+
builder.Add(a => a.PickTimeMode, PickTimeMode.Dropdown);
366+
builder.Add(a => a.ShowFooter, true);
367+
builder.Add(a => a.Value, DateTime.Today.AddDays(-1));
368+
builder.Add(a => a.TimeFormat, "hh\\:mm");
369+
});
370+
371+
cut.Contains("picker-panel-time");
372+
373+
// 点击时间选择器
374+
var input = cut.Find(".picker-panel-time .form-control");
375+
await cut.InvokeAsync(() => input.Click());
376+
cut.Contains("picker-panel-time show");
377+
378+
// 点击时间选择器下拉框中的确定按钮
379+
var picker = cut.FindComponent<TimePicker>();
380+
await cut.InvokeAsync(() => picker.Instance.OnClose!());
381+
382+
var ts = DateTime.Now.TimeOfDay;
383+
await cut.InvokeAsync(() => picker.Instance.OnConfirm!(ts));
384+
Assert.Contains(ts.ToString("hh\\:mm"), cut.Markup);
385+
386+
cut.SetParametersAndRender(pb =>
387+
{
388+
pb.Add(a => a.TimeFormat, null);
389+
});
390+
}
357391
#endregion
358392

359393
#region DatePicker

0 commit comments

Comments
 (0)