diff --git a/src/ZB.MOM.WW.ScadaBridge.CentralUI/Components/Shared/AlarmStateBadges.razor b/src/ZB.MOM.WW.ScadaBridge.CentralUI/Components/Shared/AlarmStateBadges.razor
index 66e9738b..5b8102c0 100644
--- a/src/ZB.MOM.WW.ScadaBridge.CentralUI/Components/Shared/AlarmStateBadges.razor
+++ b/src/ZB.MOM.WW.ScadaBridge.CentralUI/Components/Shared/AlarmStateBadges.razor
@@ -24,6 +24,11 @@
Suppressed
}
}
+@if (Alarm.IsMesReportable)
+{
+
MES
+}
sev @Alarm.Condition.Severity
@if (Alarm.Level != AlarmLevel.None)
diff --git a/tests/ZB.MOM.WW.ScadaBridge.CentralUI.Tests/Components/AlarmStateBadgesTests.cs b/tests/ZB.MOM.WW.ScadaBridge.CentralUI.Tests/Components/AlarmStateBadgesTests.cs
index d371349e..28cd0e8c 100644
--- a/tests/ZB.MOM.WW.ScadaBridge.CentralUI.Tests/Components/AlarmStateBadgesTests.cs
+++ b/tests/ZB.MOM.WW.ScadaBridge.CentralUI.Tests/Components/AlarmStateBadgesTests.cs
@@ -56,4 +56,24 @@ public class AlarmStateBadgesTests : BunitContext
// HiLo level badge label.
Assert.Contains("Hi", cut.Markup);
}
+
+ ///
Gitea #102: a MES-reportable alarm shows the MES badge.
+ [Fact]
+ public void MesReportableAlarm_RendersMesBadge()
+ {
+ var alarm = ActiveNativeHighUnacked() with { IsMesReportable = true };
+
+ var cut = Render
(p => p.Add(c => c.Alarm, alarm));
+
+ Assert.Equal("MES", cut.Find("[data-test='alarm-mes-badge']").TextContent);
+ }
+
+ /// Gitea #102: a non-reportable alarm shows no MES badge.
+ [Fact]
+ public void NonMesReportableAlarm_RendersNoMesBadge()
+ {
+ var cut = Render(p => p.Add(c => c.Alarm, ActiveNativeHighUnacked()));
+
+ Assert.Empty(cut.FindAll("[data-test='alarm-mes-badge']"));
+ }
}