fix(uns): guard scripted-alarm name uniqueness on create/update (code-review)
This commit is contained in:
@@ -74,4 +74,16 @@ public sealed class UnsTreeServiceScriptedAlarmTests
|
||||
(await svc.DeleteScriptedAlarmAsync("SA-1", dto!.RowVersion)).Ok.ShouldBeTrue();
|
||||
(await svc.LoadAlarmsForEquipmentAsync(UnsTreeTestDb.SeededEquipmentId)).ShouldBeEmpty();
|
||||
}
|
||||
|
||||
[Fact]
|
||||
public async Task Create_rejects_duplicate_name_on_same_equipment()
|
||||
{
|
||||
var svc = SeededService();
|
||||
(await svc.CreateScriptedAlarmAsync(UnsTreeTestDb.SeededEquipmentId, Sample("SA-1"))).Ok.ShouldBeTrue();
|
||||
// Same Name ("Over-temp" from Sample), different id, same equipment → rejected.
|
||||
var dup = await svc.CreateScriptedAlarmAsync(UnsTreeTestDb.SeededEquipmentId, Sample("SA-2"));
|
||||
dup.Ok.ShouldBeFalse();
|
||||
dup.Error.ShouldNotBeNull();
|
||||
dup.Error!.ShouldContain("already exists");
|
||||
}
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user