test(playwright): alarm-override trigger-config scenarios — HiLo merge, non-HiLo replace, validation, cancel, clear (T41)

This commit is contained in:
Joseph Doherty
2026-06-18 19:35:14 -04:00
parent 2e4ca5a35f
commit b7f7fe935c
5 changed files with 312 additions and 9 deletions
@@ -405,7 +405,7 @@
@if (_editingError != null)
{
<div class="alert alert-danger small mt-2 mb-0">@_editingError</div>
<div class="alert alert-danger small mt-2 mb-0" data-test="alarm-override-error">@_editingError</div>
}
</div>
<div class="modal-footer justify-content-between">
@@ -413,12 +413,13 @@
@if (HasOverride(_editingAlarm.Name))
{
<button class="btn btn-outline-danger btn-sm"
data-test="alarm-clear-from-modal"
@onclick="() => ClearFromModal()"
disabled="@_saving">Clear Override</button>
}
</div>
<div>
<button class="btn btn-outline-secondary btn-sm" @onclick="CancelEditOverride">Cancel</button>
<button class="btn btn-outline-secondary btn-sm" data-test="alarm-cancel-override" @onclick="CancelEditOverride">Cancel</button>
<button class="btn btn-success btn-sm" data-test="alarm-save-override" @onclick="SaveOverrideFromModal" disabled="@_saving">Save Override</button>
</div>
</div>
@@ -220,6 +220,7 @@
if (t == "Boolean")
{
<select class="form-select form-select-sm"
data-test="alarm-matchvalue-input"
@bind="_matchValueText"
@bind:after="OnMatchValueChanged">
<option value="True">True</option>
@@ -229,6 +230,7 @@
else if (IsNumericType(t ?? ""))
{
<input type="number" step="any" class="form-control form-control-sm"
data-test="alarm-matchvalue-input"
@bind="_matchValueText"
@bind:event="oninput"
@bind:after="OnMatchValueChanged" />
@@ -236,6 +238,7 @@
else
{
<input type="text" class="form-control form-control-sm"
data-test="alarm-matchvalue-input"
placeholder="value"
@bind="_matchValueText"
@bind:event="oninput"
@@ -382,28 +385,28 @@
_hiHiDeadbandText, v => _hiHiDeadbandText = v, OnHiHiDeadbandChanged,
_hiHiPriorityText, v => _hiHiPriorityText = v, OnHiHiPriorityChanged,
_hiHiMessageText, v => _hiHiMessageText = v, OnHiHiMessageChanged,
"text-danger")
"text-danger", "alarm-hilo-hihi")
@HiLoSetpointRow("HIGH (warning)",
_hiText, v => _hiText = v, OnHiChanged,
_hiDeadbandText, v => _hiDeadbandText = v, OnHiDeadbandChanged,
_hiPriorityText, v => _hiPriorityText = v, OnHiPriorityChanged,
_hiMessageText, v => _hiMessageText = v, OnHiMessageChanged,
"text-warning-emphasis")
"text-warning-emphasis", "alarm-hilo-hi")
@HiLoSetpointRow("LOW (warning)",
_loText, v => _loText = v, OnLoChanged,
_loDeadbandText, v => _loDeadbandText = v, OnLoDeadbandChanged,
_loPriorityText, v => _loPriorityText = v, OnLoPriorityChanged,
_loMessageText, v => _loMessageText = v, OnLoMessageChanged,
"text-warning-emphasis")
"text-warning-emphasis", "alarm-hilo-lo")
@HiLoSetpointRow("LOW-LOW (critical)",
_loLoText, v => _loLoText = v, OnLoLoChanged,
_loLoDeadbandText, v => _loLoDeadbandText = v, OnLoLoDeadbandChanged,
_loLoPriorityText, v => _loLoPriorityText = v, OnLoLoPriorityChanged,
_loLoMessageText, v => _loLoMessageText = v, OnLoLoMessageChanged,
"text-danger")
"text-danger", "alarm-hilo-lolo")
};
/// <summary>
@@ -418,7 +421,7 @@
string? deadband, Action<string?> deadbandSetter, Func<Task> onDeadbandChanged,
string? priority, Action<string?> prioritySetter, Func<Task> onPriorityChanged,
string? message, Action<string?> messageSetter, Func<Task> onMessageChanged,
string severityClass) => __builder =>
string severityClass, string setpointTestId) => __builder =>
{
<div class="row g-2 align-items-end mb-1">
<div class="col-md-5">
@@ -428,6 +431,7 @@
<div class="input-group input-group-sm">
<span class="input-group-text">setpoint</span>
<input type="number" step="any" class="form-control"
data-test="@setpointTestId"
placeholder="—"
value="@value"
@oninput="@(e => { valueSetter(e.Value?.ToString()); _ = onValueChanged(); })" />