| File: Controls\ResourceSelectTests.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 Aspire.Dashboard.Components.Controls; using Aspire.Dashboard.Components.Tests.Shared; using Aspire.Dashboard.Model; using Bunit; using Microsoft.FluentUI.AspNetCore.Components; using Xunit; namespace Aspire.Dashboard.Components.Tests.Controls; [UseCulture("en-US")] public sealed class ResourceSelectTests : DashboardTestContext { [Fact] public void SelectedResource_DisplaysResourceName() { FluentUISetupHelpers.AddCommonDashboardServices(this); FluentUISetupHelpers.SetupFluentList(this); var selectedResource = new SelectViewModel<ResourceTypeDetails> { Id = null, Name = "frontend" }; var cut = RenderComponent<ResourceSelect>(parameters => parameters .Add(component => component.Resources, [selectedResource]) .Add(component => component.SelectedResource, selectedResource)); var select = cut.FindComponent<FluentSelect<SelectViewModel<ResourceTypeDetails>, SelectViewModel<ResourceTypeDetails>>>(); Assert.NotNull(select.Instance.OptionText); Assert.Equal("frontend", select.Instance.OptionText!(selectedResource)); Assert.Null(select.Instance.OptionText(null)); Assert.False(select.Instance.OptionDisabled!(null)); Assert.Equal("frontend", cut.Find("fluent-option").GetAttribute("text")); } }