Resolve all 46 low-severity architecture review findings
This commit is contained in:
+35
@@ -25,6 +25,41 @@ public class TemplateFolderTreeRevealKeysTests : BunitContext
|
||||
return (new() { a, b, other }, new() { t7, t8 });
|
||||
}
|
||||
|
||||
[Fact]
|
||||
public void ExtraNodeMetadataChange_RebuildsAndSurvivesFiltering()
|
||||
{
|
||||
var template = new Template("Template") { Id = 1 };
|
||||
var inherited = false;
|
||||
IReadOnlyList<TemplateTreeNode> Children(Template _) => [new()
|
||||
{
|
||||
Kind = TemplateTreeNodeKind.Composition, Id = 2, Name = "Slot",
|
||||
IsInherited = inherited, KeyOverride = inherited ? "inherited:2" : "local:2"
|
||||
}];
|
||||
var cut = Render<TemplateFolderTree>(p => p.Add(x => x.Templates, new[] { template })
|
||||
.Add(x => x.ExtraTemplateChildren, Children).Add(x => x.Filter, "Slot"));
|
||||
inherited = true;
|
||||
cut.Render(p => p.Add(x => x.Filter, "Slot"));
|
||||
var roots = cut.FindComponent<TreeView<TemplateTreeNode>>().Instance.Items;
|
||||
var node = Assert.Single(Assert.Single(roots).Children);
|
||||
Assert.True(node.IsInherited);
|
||||
Assert.Equal("inherited:2", node.Key);
|
||||
}
|
||||
|
||||
[Fact]
|
||||
public void RepeatedParameters_PreserveForest_ButInPlaceRenameRebuilds()
|
||||
{
|
||||
var (folders, templates) = Catalogue();
|
||||
var cut = Render<TemplateFolderTree>(p => p.Add(x => x.Folders, folders).Add(x => x.Templates, templates));
|
||||
var field = typeof(TemplateFolderTree).GetField("_allRoots", System.Reflection.BindingFlags.Instance | System.Reflection.BindingFlags.NonPublic)!;
|
||||
var first = field.GetValue(cut.Instance);
|
||||
cut.Render(p => p.Add(x => x.Folders, folders).Add(x => x.Templates, templates));
|
||||
Assert.Same(first, field.GetValue(cut.Instance));
|
||||
folders[0].Name = "Renamed";
|
||||
cut.Render(p => p.Add(x => x.Folders, folders).Add(x => x.Templates, templates));
|
||||
Assert.NotSame(first, field.GetValue(cut.Instance));
|
||||
Assert.Contains("Renamed", cut.Markup);
|
||||
}
|
||||
|
||||
[Fact]
|
||||
public void WithoutRevealKeys_AllFoldersStartCollapsed()
|
||||
{
|
||||
|
||||
Reference in New Issue
Block a user