perf(centralui): load template stubs/analysis projections instead of the full tracked graph (review 2026-10-21 07/P-1, 08/P1)
This commit is contained in:
@@ -69,7 +69,7 @@ public class TemplatesPageTests : BunitContext
|
||||
[Fact]
|
||||
public void Renders_EmptyState_WhenNoTemplatesOrFolders()
|
||||
{
|
||||
_repo.GetAllTemplatesAsync(Arg.Any<CancellationToken>())
|
||||
_repo.GetAllTemplatesForAnalysisAsync(Arg.Any<CancellationToken>())
|
||||
.Returns(Task.FromResult<IReadOnlyList<Template>>(new List<Template>()));
|
||||
_repo.GetAllFoldersAsync(Arg.Any<CancellationToken>())
|
||||
.Returns(Task.FromResult<IReadOnlyList<TemplateFolder>>(new List<TemplateFolder>()));
|
||||
@@ -85,7 +85,7 @@ public class TemplatesPageTests : BunitContext
|
||||
{
|
||||
var folder = new TemplateFolder("Dev") { Id = 1 };
|
||||
var template = new Template("TestMachine") { Id = 5, FolderId = 1 };
|
||||
_repo.GetAllTemplatesAsync(Arg.Any<CancellationToken>())
|
||||
_repo.GetAllTemplatesForAnalysisAsync(Arg.Any<CancellationToken>())
|
||||
.Returns(Task.FromResult<IReadOnlyList<Template>>(new List<Template> { template }));
|
||||
_repo.GetAllFoldersAsync(Arg.Any<CancellationToken>())
|
||||
.Returns(Task.FromResult<IReadOnlyList<TemplateFolder>>(new List<TemplateFolder> { folder }));
|
||||
@@ -114,7 +114,7 @@ public class TemplatesPageTests : BunitContext
|
||||
new TemplateComposition("DelmiaReceiver") { Id = 10, ComposedTemplateId = 99 });
|
||||
var composed = new Template("Other") { Id = 99 };
|
||||
|
||||
_repo.GetAllTemplatesAsync(Arg.Any<CancellationToken>())
|
||||
_repo.GetAllTemplatesForAnalysisAsync(Arg.Any<CancellationToken>())
|
||||
.Returns(Task.FromResult<IReadOnlyList<Template>>(new List<Template> { template, composed }));
|
||||
_repo.GetAllFoldersAsync(Arg.Any<CancellationToken>())
|
||||
.Returns(Task.FromResult<IReadOnlyList<TemplateFolder>>(new List<TemplateFolder>()));
|
||||
@@ -153,7 +153,7 @@ public class TemplatesPageTests : BunitContext
|
||||
cvdReactor.Compositions.Add(
|
||||
new TemplateComposition("LeftReactorSide") { Id = 200, TemplateId = 1, ComposedTemplateId = 8 });
|
||||
|
||||
_repo.GetAllTemplatesAsync(Arg.Any<CancellationToken>())
|
||||
_repo.GetAllTemplatesForAnalysisAsync(Arg.Any<CancellationToken>())
|
||||
.Returns(Task.FromResult<IReadOnlyList<Template>>(
|
||||
new List<Template> { cvdReactor, reactorSide, leftReactorSide, leakTest }));
|
||||
_repo.GetAllFoldersAsync(Arg.Any<CancellationToken>())
|
||||
@@ -191,7 +191,7 @@ public class TemplatesPageTests : BunitContext
|
||||
var alpha = new Template("AlphaDevice") { Id = 10, FolderId = 1 };
|
||||
var beta = new Template("BetaDevice") { Id = 20, FolderId = 1 };
|
||||
|
||||
_repo.GetAllTemplatesAsync(Arg.Any<CancellationToken>())
|
||||
_repo.GetAllTemplatesForAnalysisAsync(Arg.Any<CancellationToken>())
|
||||
.Returns(Task.FromResult<IReadOnlyList<Template>>(new List<Template> { alpha, beta }));
|
||||
_repo.GetAllFoldersAsync(Arg.Any<CancellationToken>())
|
||||
.Returns(Task.FromResult<IReadOnlyList<TemplateFolder>>(new List<TemplateFolder> { folder }));
|
||||
@@ -243,7 +243,7 @@ public class TemplatesPageTests : BunitContext
|
||||
var beta = new TemplateFolder("Beta") { Id = 2, ParentFolderId = null, SortOrder = 1 };
|
||||
var all = new List<TemplateFolder> { alpha, beta };
|
||||
|
||||
_repo.GetAllTemplatesAsync(Arg.Any<CancellationToken>())
|
||||
_repo.GetAllTemplatesForAnalysisAsync(Arg.Any<CancellationToken>())
|
||||
.Returns(Task.FromResult<IReadOnlyList<Template>>(new List<Template>()));
|
||||
_repo.GetAllFoldersAsync(Arg.Any<CancellationToken>())
|
||||
.Returns(_ => Task.FromResult<IReadOnlyList<TemplateFolder>>(all));
|
||||
@@ -307,7 +307,7 @@ public class TemplatesPageTests : BunitContext
|
||||
// Tree reloaded after the mutation: LoadTemplatesAsync re-fetched (initial
|
||||
// load + post-reorder reload). GetAllTemplatesAsync is only touched by the
|
||||
// page's load path, never by ReorderFolderAsync, so 2 calls == one reload.
|
||||
_repo.Received(2).GetAllTemplatesAsync(Arg.Any<CancellationToken>());
|
||||
_repo.Received(2).GetAllTemplatesForAnalysisAsync(Arg.Any<CancellationToken>());
|
||||
}
|
||||
|
||||
/// <summary>Verifies that choosing move up dispatches a reorder up and reloads the tree.</summary>
|
||||
@@ -333,7 +333,7 @@ public class TemplatesPageTests : BunitContext
|
||||
Assert.Equal(1, alpha.SortOrder);
|
||||
|
||||
// Tree reloaded after the mutation (one reload == GetAllTemplatesAsync twice).
|
||||
_repo.Received(2).GetAllTemplatesAsync(Arg.Any<CancellationToken>());
|
||||
_repo.Received(2).GetAllTemplatesForAnalysisAsync(Arg.Any<CancellationToken>());
|
||||
}
|
||||
|
||||
/// <summary>Verifies that move up is disabled for the first sibling folder.</summary>
|
||||
@@ -372,7 +372,7 @@ public class TemplatesPageTests : BunitContext
|
||||
[Fact]
|
||||
public void RootContextMenu_OffersNewFolderAndNewTemplate()
|
||||
{
|
||||
_repo.GetAllTemplatesAsync(Arg.Any<CancellationToken>())
|
||||
_repo.GetAllTemplatesForAnalysisAsync(Arg.Any<CancellationToken>())
|
||||
.Returns(Task.FromResult<IReadOnlyList<Template>>(new List<Template>()));
|
||||
_repo.GetAllFoldersAsync(Arg.Any<CancellationToken>())
|
||||
.Returns(Task.FromResult<IReadOnlyList<TemplateFolder>>(new List<TemplateFolder>()));
|
||||
@@ -392,7 +392,7 @@ public class TemplatesPageTests : BunitContext
|
||||
[Fact]
|
||||
public void RootContextMenu_NewTemplate_NavigatesToRootCreate()
|
||||
{
|
||||
_repo.GetAllTemplatesAsync(Arg.Any<CancellationToken>())
|
||||
_repo.GetAllTemplatesForAnalysisAsync(Arg.Any<CancellationToken>())
|
||||
.Returns(Task.FromResult<IReadOnlyList<Template>>(new List<Template>()));
|
||||
_repo.GetAllFoldersAsync(Arg.Any<CancellationToken>())
|
||||
.Returns(Task.FromResult<IReadOnlyList<TemplateFolder>>(new List<TemplateFolder>()));
|
||||
@@ -417,7 +417,7 @@ public class TemplatesPageTests : BunitContext
|
||||
|
||||
private void SeedOneTemplate(int id, string name)
|
||||
{
|
||||
_repo.GetAllTemplatesAsync(Arg.Any<CancellationToken>())
|
||||
_repo.GetAllTemplatesForAnalysisAsync(Arg.Any<CancellationToken>())
|
||||
.Returns(Task.FromResult<IReadOnlyList<Template>>(new List<Template> { new(name) { Id = id } }));
|
||||
_repo.GetAllFoldersAsync(Arg.Any<CancellationToken>())
|
||||
.Returns(Task.FromResult<IReadOnlyList<TemplateFolder>>(new List<TemplateFolder>()));
|
||||
|
||||
Reference in New Issue
Block a user