063005fefa
- DriverTagPicker shell: modal chrome + per-driver picker body rendered as ChildContent. - 9 picker bodies (Modbus/AbCip/AbLegacy/S7/TwinCat/FOCAS/ OpcUaClient/Galaxy/Historian.Wonderware). 5 have computed builder logic + unit tests; 4 are free-text passthroughs (live browse for OPC UA + Galaxy is a documented follow-up). - Each typed driver page gets a "Pick address" button that opens the modal with the matching body. Picked address surfaces in the modal footer for manual copy — no JS interop in v1.
16 lines
646 B
C#
16 lines
646 B
C#
using Shouldly;
|
|
using Xunit;
|
|
using ZB.MOM.WW.OtOpcUa.AdminUI.Components.Shared.Drivers.Pickers;
|
|
|
|
namespace ZB.MOM.WW.OtOpcUa.AdminUI.Tests.Pickers;
|
|
|
|
public sealed class HistorianWonderwareAddressBuilderTests
|
|
{
|
|
[Theory]
|
|
[InlineData("SysTimeHour", "Cyclic", 60, "SysTimeHour?mode=Cyclic&interval=60")]
|
|
[InlineData("ReactorTemp", "Last", 1, "ReactorTemp?mode=Last&interval=1")]
|
|
[InlineData("FlowRate", "Delta", 30, "FlowRate?mode=Delta&interval=30")]
|
|
public void Build_Canonical(string tag, string mode, int interval, string expected)
|
|
=> HistorianWonderwareAddressBuilder.Build(tag, mode, interval).ShouldBe(expected);
|
|
}
|