using MBN_STOCK_WEBVIEW.LegacyApplication; namespace MBN_STOCK_WEBVIEW.LegacyBridge.Tests; public sealed class LegacyTabActivationBridgeTests { [Theory] [InlineData("theme", LegacyOperatorTabId.Theme)] [InlineData("expert", LegacyOperatorTabId.Expert)] public void SelectTab_CarriesOnlyClosedTabIdentity( string tabId, LegacyOperatorTabId expected) { Assert.True(LegacyBridgeProtocol.TryParseIntent( $"{{\"type\":\"select-tab\",\"payload\":{{\"tabId\":\"{tabId}\"}}}}", out var parsed, out _)); Assert.Equal(expected, Assert.IsType(parsed).TabId); } [Theory] [InlineData("theme", "query", "")] [InlineData("theme", "nxtSession", "preMarket")] [InlineData("expert", "query", "")] public void SelectTab_RejectsWebSuppliedInitialLoadParameters( string tabId, string extraName, string extraValue) { var json = "{\"type\":\"select-tab\",\"payload\":{" + $"\"tabId\":\"{tabId}\",\"{extraName}\":\"{extraValue}\"}}}}"; Assert.False(LegacyBridgeProtocol.TryParseIntent(json, out _, out _)); } }