Skip to content

Commit 7d176b8

Browse files
committed
test: 更新单元测试
1 parent 6f6cc8a commit 7d176b8

File tree

2 files changed

+13
-13
lines changed

2 files changed

+13
-13
lines changed

src/BootstrapBlazor/Misc/ExpandableNodeCache.cs

Lines changed: 0 additions & 9 deletions
Original file line numberDiff line numberDiff line change
@@ -55,18 +55,9 @@ public virtual async Task ToggleNodeAsync(TNode node, Func<TNode, Task<IEnumerab
5555
{
5656
var items = await callback(node);
5757
node.Items = items.ToList();
58-
ICheckableNode<TItem>? checkNode = null;
59-
if (node is ICheckableNode<TItem> c)
60-
{
61-
checkNode = c;
62-
}
6358
foreach (var n in node.Items)
6459
{
6560
n.Parent = node;
66-
if (checkNode != null && n is ICheckableNode<TItem> currentNode)
67-
{
68-
currentNode.CheckedState = checkNode.CheckedState;
69-
}
7061
}
7162
}
7263
}

test/UnitTest/Components/TreeViewTest.cs

Lines changed: 13 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -369,26 +369,35 @@ public async Task OnExpandRowAsync_CheckCascadeStateWithoutChild_Ok()
369369
});
370370
});
371371

372-
var checkboxes = cut.FindComponents<Checkbox<CheckboxState>>();
372+
var checkboxes = cut.FindComponents<Checkbox<TreeViewItem<TreeFoo>>>();
373373

374-
// 初始状态
374+
// 初始状态 第一节点未选中 第二节点选中
375375
Assert.Equal(CheckboxState.UnChecked, checkboxes[0].Instance.State);
376376
Assert.Equal(CheckboxState.Checked, checkboxes[1].Instance.State);
377377

378+
// 展开第一个节点
378379
await cut.InvokeAsync(() => cut.Find(".fa-caret-right.visible").Click());
379380
Assert.True(expanded);
380381

381382
cut.WaitForState(() => cut.Instance.Items[0].Items.Count > 0);
383+
// 101 unchecked
384+
// -> 101-101 unchecked
385+
// -> 101-102 checked
386+
// 102 checked
382387

383388
// 展开状态
384-
checkboxes = cut.FindComponents<Checkbox<CheckboxState>>();
389+
checkboxes = cut.FindComponents<Checkbox<TreeViewItem<TreeFoo>>>();
385390
Assert.Equal(CheckboxState.Indeterminate, checkboxes[0].Instance.State);
386391
Assert.Equal(CheckboxState.UnChecked, checkboxes[1].Instance.State);
387392
Assert.Equal(CheckboxState.Checked, checkboxes[2].Instance.State);
388393

389394
// 级联选中-父级
390395
await cut.InvokeAsync(() => checkboxes[1].Instance.SetState(CheckboxState.Checked));
391-
Assert.Equal(CheckboxState.Checked, checkboxes[0].Instance.State);
396+
397+
// 由于缺少 JS 回调单元测试中 Instance.State 无法获取到最新状态
398+
Assert.Equal(CheckboxState.Checked, checkboxes[0].Instance.Value.CheckedState);
399+
400+
392401
}
393402

394403
[Fact]

0 commit comments

Comments
 (0)