diff --git a/samples/BlazorServer/Pages/Index.razor b/samples/BlazorServer/Pages/Index.razor index bb0480e..b94526c 100644 --- a/samples/BlazorServer/Pages/Index.razor +++ b/samples/BlazorServer/Pages/Index.razor @@ -50,6 +50,7 @@ _toastParameters = new ToastParameters(); _toastParameters.Add(nameof(MyToastComponent.Title), "I'm a custom toast component with parameters"); _toastParameters.Add(nameof(MyToastComponent.ToastParam), "I'm a parameter"); + _toastParameters.Add(nameof(MyToastComponent.Status), ToastLevel.Info); } private void OnShowHtml() diff --git a/samples/BlazorServer/Pages/MyToastComponent.razor b/samples/BlazorServer/Pages/MyToastComponent.razor index d992037..deb6ecd 100644 --- a/samples/BlazorServer/Pages/MyToastComponent.razor +++ b/samples/BlazorServer/Pages/MyToastComponent.razor @@ -15,4 +15,5 @@ else @code{ [Parameter] public string Title { get; set; } [Parameter] public string ToastParam { get; set; } + [Parameter] public ToastLevel Status { get; set; } } diff --git a/samples/BlazorWebAssembly/Pages/Index.razor b/samples/BlazorWebAssembly/Pages/Index.razor index da3213e..7f8babf 100644 --- a/samples/BlazorWebAssembly/Pages/Index.razor +++ b/samples/BlazorWebAssembly/Pages/Index.razor @@ -58,7 +58,8 @@ { _toastParameters = new ToastParameters() .Add(nameof(MyToastComponent.Title), "I'm a custom toast component with parameters") - .Add(nameof(MyToastComponent.ToastParam), "I'm a parameter"); + .Add(nameof(MyToastComponent.ToastParam), "I'm a parameter") + .Add(nameof(MyToastComponent.Status), ToastLevel.Info); } private void OnShowHtml() diff --git a/samples/BlazorWebAssembly/Pages/MyToastComponent.razor b/samples/BlazorWebAssembly/Pages/MyToastComponent.razor index 6cc19b8..96f8434 100644 --- a/samples/BlazorWebAssembly/Pages/MyToastComponent.razor +++ b/samples/BlazorWebAssembly/Pages/MyToastComponent.razor @@ -20,4 +20,5 @@ else [Parameter] public string? Title { get; set; } [Parameter] public string? ToastParam { get; set; } + [Parameter] public ToastLevel? Status { get; set; } } diff --git a/samples/bUnitExample/BlazoredToastTests.cs b/samples/bUnitExample/BlazoredToastTests.cs index afa1370..76dcd85 100644 --- a/samples/bUnitExample/BlazoredToastTests.cs +++ b/samples/bUnitExample/BlazoredToastTests.cs @@ -1,4 +1,3 @@ -using Blazored.Toast; using Blazored.Toast.Services; using BlazorWebAssembly.Pages; using Bunit; @@ -109,5 +108,19 @@ public void DisplaysToastComponent() // Assert Assert.Equal(1, toastService.Toasts.Count(_ => _.ToastType == typeof(MyToastComponent))); } + + [Fact] + public void DisplaysToastComponentWithLevel() + { + // Arrange + var toastService = this.AddBlazoredToast(); + var cut = RenderComponent(); + + // Act + cut.Find("#CustomButton").Click(); + + // Assert + Assert.Equal(ToastLevel.Info, toastService.Toasts.Single().ToastParameters!.TryGet(nameof(MyToastComponent.Status))); + } } } diff --git a/src/Blazored.Toast.TestExtensions/InMemoryToast.cs b/src/Blazored.Toast.TestExtensions/InMemoryToast.cs index 8ba2a35..b6b6eb1 100644 --- a/src/Blazored.Toast.TestExtensions/InMemoryToast.cs +++ b/src/Blazored.Toast.TestExtensions/InMemoryToast.cs @@ -1,6 +1,5 @@ using Blazored.Toast.Services; using Microsoft.AspNetCore.Components; -using System; namespace Blazored.Toast.TestExtensions { @@ -9,6 +8,8 @@ public class InMemoryToast public Type ToastType { get; set; } public ToastLevel ToastLevel { get; } public RenderFragment? Message { get; } + + public ToastParameters? ToastParameters { get; } public InMemoryToast(Type toastType, ToastLevel toastLevel, RenderFragment message) { @@ -21,5 +22,11 @@ public InMemoryToast(Type toastType) { ToastType = toastType; } + + public InMemoryToast(Type toastType, ToastParameters toastParameters) + { + ToastType = toastType; + ToastParameters = toastParameters; + } } } diff --git a/src/Blazored.Toast.TestExtensions/InMemoryToastService.cs b/src/Blazored.Toast.TestExtensions/InMemoryToastService.cs index af41603..809a900 100644 --- a/src/Blazored.Toast.TestExtensions/InMemoryToastService.cs +++ b/src/Blazored.Toast.TestExtensions/InMemoryToastService.cs @@ -21,13 +21,13 @@ public void ShowToast() where TComponent : IComponent => _toasts.Add(new InMemoryToast(typeof(TComponent))); public void ShowToast(ToastParameters parameters) where TComponent : IComponent - => _toasts.Add(new InMemoryToast(typeof(TComponent))); + => _toasts.Add(new InMemoryToast(typeof(TComponent), parameters)); public void ShowToast(Action? settings) where TComponent : IComponent => _toasts.Add(new InMemoryToast(typeof(TComponent))); public void ShowToast(ToastParameters parameters, Action? settings) where TComponent : IComponent - => _toasts.Add(new InMemoryToast(typeof(TComponent))); + => _toasts.Add(new InMemoryToast(typeof(TComponent), parameters)); public void ShowError(string message, Action? settings = null) => ShowToast(ToastLevel.Error, message, settings);