Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view

This file was deleted.

100 changes: 50 additions & 50 deletions src/BlazorUI/Bit.BlazorUI.Tests/Notifications/BitMessageBarTests.cs
Original file line number Diff line number Diff line change
@@ -1,6 +1,6 @@
using System.Collections.Generic;
using Microsoft.VisualStudio.TestTools.UnitTesting;
using Bunit;
using Microsoft.VisualStudio.TestTools.UnitTesting;

namespace Bit.BlazorUI.Tests.Notifications;

Expand All @@ -15,13 +15,12 @@ public class BitMessageBarTests : BunitTestContext
DataRow(BitMessageBarType.Success),
DataRow(BitMessageBarType.Warning)
]
public void BitMessageBarShouldTakeCorrectTypeAndVisual(BitMessageBarType messageBarType)
public void BitMessageBarShouldTakeCorrectType(BitMessageBarType messageBarType)
{
var component = RenderComponent<BitMessageBarTest>(
parameters =>
{
parameters.Add(p => p.MessageBarType, messageBarType);
});
var component = RenderComponent<BitMessageBar>(parameters =>
{
parameters.Add(p => p.MessageBarType, messageBarType);
});

var bitMessageBar = component.Find(".bit-msb");

Expand Down Expand Up @@ -53,15 +52,15 @@ public void BitMessageBarShouldTakeCorrectTypeAndVisual(BitMessageBarType messag
}

[DataTestMethod,
DataRow(BitIconName.Emoji2)
DataRow(BitIconName.Emoji2),
DataRow(BitIconName.WordLogo)
]
public void BitMessageBarShouldRespectCustomIcon(BitIconName iconName)
{
var component = RenderComponent<BitMessageBarTest>(
parameters =>
{
parameters.Add(p => p.MessageBarIconName, iconName);
});
var component = RenderComponent<BitMessageBar>(parameters =>
{
parameters.Add(p => p.MessageBarIconName, iconName);
});

var icon = component.Find(".icon > i");
Assert.IsTrue(icon.ClassList.Contains($"bit-icon--{iconName.GetName()}"));
Expand All @@ -75,19 +74,18 @@ public void BitMessageBarShouldRespectCustomIcon(BitIconName iconName)
]
public void BitMessageBarShouldRespectMultiline(bool isMultiline, bool truncated)
{
var component = RenderComponent<BitMessageBarTest>(
parameters =>
{
parameters.Add(p => p.IsMultiline, isMultiline);
parameters.Add(p => p.Truncated, truncated);
});
var component = RenderComponent<BitMessageBar>(parameters =>
{
parameters.Add(p => p.IsMultiline, isMultiline);
parameters.Add(p => p.Truncated, truncated);
});

var bitMessageBar = component.Find(".bit-msb > div");

var messageBarMultilineType = isMultiline ? "multiline" : "singleline";
Assert.IsTrue(bitMessageBar.ClassList.Contains(messageBarMultilineType));

if (!isMultiline && truncated)
if (isMultiline is false && truncated)
{
var truncateButton = component.Find(".truncate > button");

Expand All @@ -106,25 +104,30 @@ public void BitMessageBarShouldRespectMultiline(bool isMultiline, bool truncated
[DataTestMethod]
public void BitMessageBarDismissButtonShouldWorkCorrect()
{
var component = RenderComponent<BitMessageBarTest>();
int currentCount = 0;
var component = RenderComponent<BitMessageBar>(parameters =>
{
parameters.Add(p => p.OnDismiss, () => currentCount++);
});

var dismissButton = component.Find(".dismiss > button");

dismissButton.Click();

Assert.AreEqual(1, component.Instance.CurrentCount);
Assert.AreEqual(1, currentCount);
}

[DataTestMethod,
DataRow(BitIconName.Emoji2)
DataRow(BitIconName.Emoji2),
DataRow(BitIconName.WordLogo)
]
public void BitMessageBarShouldRespectCustomDismissIcon(BitIconName iconName)
{
var component = RenderComponent<BitMessageBarTest>(
parameters =>
{
parameters.Add(p => p.DismissIconName, iconName);
});
var component = RenderComponent<BitMessageBar>(parameters =>
{
parameters.Add(p => p.DismissIconName, iconName);
parameters.Add(p => p.OnDismiss, () => { });
});

var icon = component.Find(".dismiss button span i");

Expand All @@ -134,15 +137,15 @@ public void BitMessageBarShouldRespectCustomDismissIcon(BitIconName iconName)
[DataTestMethod,
DataRow("test dismiss aria label", false),
DataRow("test dismiss aria label", true)
]
]
public void BitMessageBarDismissButtonAriaLabelTest(string ariaLabel, bool isMultiline)
{
var component = RenderComponent<BitMessageBarTest>(
parameters =>
{
parameters.Add(p => p.IsMultiline, isMultiline);
parameters.Add(p => p.DismissButtonAriaLabel, ariaLabel);
});
var component = RenderComponent<BitMessageBar>(parameters =>
{
parameters.Add(p => p.IsMultiline, isMultiline);
parameters.Add(p => p.DismissButtonAriaLabel, ariaLabel);
parameters.Add(p => p.OnDismiss, () => { });
});

var dismissButton = component.Find(".dismiss button");

Expand All @@ -158,13 +161,12 @@ public void BitMessageBarDismissButtonAriaLabelTest(string ariaLabel, bool isMul
]
public void BitMessageBarOverflowButtonAriaLabelTest(string ariaLabel)
{
var component = RenderComponent<BitMessageBarTest>(
parameters =>
{
parameters.Add(p => p.IsMultiline, false);
parameters.Add(p => p.Truncated, true);
parameters.Add(p => p.OverflowButtonAriaLabel, ariaLabel);
});
var component = RenderComponent<BitMessageBar>(parameters =>
{
parameters.Add(p => p.IsMultiline, false);
parameters.Add(p => p.Truncated, true);
parameters.Add(p => p.OverflowButtonAriaLabel, ariaLabel);
});

var dismissButton = component.Find(".truncate button");

Expand Down Expand Up @@ -203,7 +205,7 @@ public void BitMessageBarShouldRespectAction(string actions)
]
public void BitMessageBarRoleTest(string role, BitMessageBarType type)
{
var component = RenderComponent<BitMessageBarTest>(parameter =>
var component = RenderComponent<BitMessageBar>(parameter =>
{
parameter.Add(p => p.Role, role);
parameter.Add(p => p.MessageBarType, type);
Expand All @@ -216,11 +218,9 @@ public void BitMessageBarRoleTest(string role, BitMessageBarType type)
}

private static string GetRole(BitMessageBarType type)
{
return type switch
{
BitMessageBarType.Blocked or BitMessageBarType.Error or BitMessageBarType.SevereWarning => "alert",
_ => "status",
};
}
=> type switch
{
BitMessageBarType.Blocked or BitMessageBarType.Error or BitMessageBarType.SevereWarning => "alert",
_ => "status",
};
}