| File: Shared\ResourceSetupHelpers.cs | Web Access |
| Project: src\tests\Aspire.Dashboard.Components.Tests\Aspire.Dashboard.Components.Tests.csproj (Aspire.Dashboard.Components.Tests) |
// Licensed to the .NET Foundation under one or more agreements. // The .NET Foundation licenses this file to you under the MIT license. using System.Threading.Channels; using Aspire.Dashboard.Components.Pages; using Aspire.Dashboard.Components.Resize; using Aspire.Dashboard.Configuration; using Aspire.Dashboard.Model; using Aspire.Dashboard.Model.Assistant; using Aspire.Dashboard.Model.BrowserStorage; using Aspire.Dashboard.Otlp.Storage; using Aspire.Dashboard.Telemetry; using Aspire.Dashboard.Tests; using Aspire.Dashboard.Tests.Shared; using Bunit; using Microsoft.Extensions.DependencyInjection; using Microsoft.Extensions.Logging; using Microsoft.Extensions.Logging.Abstractions; using Microsoft.Extensions.Options; using Microsoft.FluentUI.AspNetCore.Components; namespace Aspire.Dashboard.Components.Tests.Shared; internal static class ResourceSetupHelpers { public static void SetupResourceDetails(TestContext context) { FluentUISetupHelpers.AddCommonDashboardServices(context); context.Services.AddSingleton<IInstrumentUnitResolver, TestInstrumentUnitResolver>(); context.Services.AddSingleton<IconResolver>(); FluentUISetupHelpers.SetupFluentDivider(context); FluentUISetupHelpers.SetupFluentSearch(context); FluentUISetupHelpers.SetupFluentAnchor(context); FluentUISetupHelpers.SetupFluentAnchoredRegion(context); FluentUISetupHelpers.SetupFluentDataGrid(context); FluentUISetupHelpers.SetupFluentKeyCode(context); FluentUISetupHelpers.SetupFluentToolbar(context); FluentUISetupHelpers.SetupFluentMenu(context); context.JSInterop.SetupVoid("scrollToTop", _ => true); } public static void SetupResourcesPage(TestContext context, ViewportInformation viewport, IDashboardClient? dashboardClient = null, ILocalStorage? localStorage = null) { FluentUISetupHelpers.SetupFluentDivider(context); FluentUISetupHelpers.SetupFluentInputLabel(context); FluentUISetupHelpers.SetupFluentDataGrid(context); FluentUISetupHelpers.SetupFluentSearch(context); FluentUISetupHelpers.SetupFluentKeyCode(context); FluentUISetupHelpers.SetupFluentCheckbox(context); FluentUISetupHelpers.SetupFluentAnchoredRegion(context); FluentUISetupHelpers.SetupFluentToolbar(context); FluentUISetupHelpers.SetupFluentTab(context); FluentUISetupHelpers.SetupFluentOverflow(context); FluentUISetupHelpers.SetupFluentMenu(context); FluentUISetupHelpers.AddCommonDashboardServices(context, localStorage: localStorage); context.Services.AddSingleton<IconResolver>(); context.Services.AddSingleton<ILogger<StructuredLogs>>(NullLogger<StructuredLogs>.Instance); context.Services.AddSingleton<StructuredLogsViewModel>(); context.Services.AddScoped<DashboardCommandExecutor, DashboardCommandExecutor>(); context.Services.AddSingleton<IDashboardClient>(dashboardClient ?? new TestDashboardClient(isEnabled: true, initialResources: [], resourceChannelProvider: Channel.CreateUnbounded<IReadOnlyList<ResourceViewModelChange>>)); FluentUISetupHelpers.SetupFluentUIComponents(context); var dimensionManager = context.Services.GetRequiredService<DimensionManager>(); dimensionManager.InvokeOnViewportInformationChanged(viewport); } }