I have just upgraded to Mudblazor 7.2 from 7. I have a MainLayout.cs file which has the
<MudPopoverProvider>
specified
<CascadingValue Value="this">
<MudPopoverProvider> </MudPopoverProvider>
<MudThemeProvider @bind-IsDarkMode="@_isDarkMode" Theme="_theme"/>
<MudDialogProvider/>
<MudLayout>
<MudAppBar Dense="true" Color="MudBlazor.Color.Info">
<MudIconButton Icon="@Icons.Material.Filled.Menu" Edge="Edge.Start" OnClick="@ToggleDrawer"/>
<MudSpacer/>
<MudText Typo="Typo.h5" Color="MudBlazor.Color.Default" Style="color: white;">@HeaderService.PageTitle</MudText>
<MudSpacer/>
</MudAppBar>
<MudDrawer @bind-Open="@_menuOpen" ClipMode="_clipMode" Elevation="1" Variant="@DrawerVariant.Responsive">
<NavMenu/>
</MudDrawer>
<MudMainContent>
<CustomErrorBoundary>
@Body
</CustomErrorBoundary>
</MudMainContent>
</MudLayout>
</CascadingValue>
<BlazoredToasts Position="ToastPosition.BottomRight"
Timeout="6"
IconType="IconType.FontAwesome"
SuccessClass="success-toast-override"
SuccessIcon="fa fa-thumbs-up"
ErrorIcon="fa fa-bug"
ShowProgressBar="true"
WarningIcon="warning"
ShowCloseButton="true"
PauseProgressOnHover="true"
/>
@code {
private bool _menuOpen = true;
}
I have a component like follows called MyComponent
<MudDataGrid T="CashDealResponseDto" MultiSelection="true" FilterCaseSensitivity="DataGridFilterCaseSensitivity.CaseInsensitive"
Items="@ComponentData"
SortMode="SortMode.Multiple" Filterable="true" Dense="true"
Striped="true" FilterMode="DataGridFilterMode.ColumnFilterRow">
<Columns>
<PropertyColumn HeaderStyle="font-weight:bold;width:8%;" Format="N2" Property="x => x.Amount" Title="Amount" Resizable="true" Filterable="true" />
</Columns>
<NoRecordsContent>
<MudText>No items found</MudText>
</NoRecordsContent>
<LoadingContent>
<MudText>Loading...</MudText>
</LoadingContent>
</MudDataGrid>
In my bunit test I have the following
var component = Ctx.RenderComponent<MyComponent>();
component.WaitForState(() => component.FindAll("td").Count > 0);
var tds = component.FindAll("td");
tds[0].InnerHtml.Contains("100").Should().BeTrue();
I get this error
System.InvalidOperationException Missing MudPopoverProvider, please add it to your layout. See https://mudblazor.com/getting-started/installation#manual-install-add-components at MudBlazor.PopoverService.CreatePopoverAsync(IPopover popover) at MudBlazor.MudPopoverBase.OnInitializedAsync()
This is only since Upgrading from v7 to v7.2.0. The same test ran fine before
The answer was to setup the popup provider check in the test
Ctx.Services.AddMudServices(options =>{options.PopoverOptions.CheckForPopoverProvider = false;});
I had the same problem as you and how I handled it: <MudSnackbarProvider @rendermode="InteractiveServer" />
I have consulted the documentation:https://learn.microsoft.com/vi-vn/aspnet/core/blazor/components/render-modes?view=aspnetcore-8.0
If you love us? You can donate to us via Paypal or buy me a coffee so we can maintain and grow! Thank you!
Donate Us With