46 lines
2.8 KiB
C#
46 lines
2.8 KiB
C#
using MBN_STOCK_WEBVIEW.LegacyApplication;
|
|
|
|
namespace MBN_STOCK_WEBVIEW.LegacyBridge.Tests;
|
|
|
|
public sealed class LegacyComparisonBridgeTests
|
|
{
|
|
[Theory]
|
|
[InlineData("search-comparison-domestic", "{\"query\":\"삼성\"}", typeof(LegacySearchComparisonDomesticIntent))]
|
|
[InlineData("search-comparison-world", "{\"query\":\"APPLE\"}", typeof(LegacySearchComparisonWorldIntent))]
|
|
[InlineData("select-comparison-domestic", "{\"selectionId\":\"comparison-domestic-0001-0001\"}", typeof(LegacySelectComparisonDomesticIntent))]
|
|
[InlineData("select-comparison-world", "{\"selectionId\":\"comparison-world-0001-0001\"}", typeof(LegacySelectComparisonWorldIntent))]
|
|
[InlineData("select-comparison-fixed", "{\"targetId\":\"kospi\"}", typeof(LegacySelectComparisonFixedIntent))]
|
|
[InlineData("choose-comparison-domestic", "{\"selectionId\":\"comparison-domestic-0001-0001\"}", typeof(LegacyChooseComparisonDomesticIntent))]
|
|
[InlineData("choose-comparison-world", "{\"selectionId\":\"comparison-world-0001-0001\"}", typeof(LegacyChooseComparisonWorldIntent))]
|
|
[InlineData("choose-comparison-fixed", "{\"targetId\":\"kospi\"}", typeof(LegacyChooseComparisonFixedIntent))]
|
|
[InlineData("swap-comparison-targets", "{}", typeof(LegacySwapComparisonTargetsIntent))]
|
|
[InlineData("clear-comparison-targets", "{}", typeof(LegacyClearComparisonTargetsIntent))]
|
|
[InlineData("add-comparison-pair", "{}", typeof(LegacyAddComparisonPairIntent))]
|
|
[InlineData("select-comparison-pair", "{\"rowId\":\"comparison-pair-00000001\"}", typeof(LegacySelectComparisonPairIntent))]
|
|
[InlineData("move-comparison-pair", "{\"direction\":\"up\"}", typeof(LegacyMoveComparisonPairIntent))]
|
|
[InlineData("delete-selected-comparison-pair", "{}", typeof(LegacyDeleteSelectedComparisonPairIntent))]
|
|
[InlineData("delete-all-comparison-pairs", "{}", typeof(LegacyDeleteAllComparisonPairsIntent))]
|
|
[InlineData("activate-comparison-action", "{\"actionId\":\"comparison-candle\"}", typeof(LegacyActivateComparisonActionIntent))]
|
|
public void ComparisonIntentsAreClosed(string type, string payload, Type expected)
|
|
{
|
|
Assert.True(LegacyBridgeProtocol.TryParseIntent(
|
|
$"{{\"type\":\"{type}\",\"payload\":{payload}}}",
|
|
out var intent,
|
|
out _));
|
|
Assert.IsType(expected, intent);
|
|
}
|
|
|
|
[Fact]
|
|
public void ComparisonIntentRejectsUnexpectedOrRawIdentityFields()
|
|
{
|
|
Assert.False(LegacyBridgeProtocol.TryParseIntent(
|
|
"{\"type\":\"choose-comparison-domestic\",\"payload\":{\"selectionId\":\"comparison-domestic-0001-0001\",\"stockCode\":\"005930\"}}",
|
|
out _,
|
|
out _));
|
|
Assert.False(LegacyBridgeProtocol.TryParseIntent(
|
|
"{\"type\":\"move-comparison-pair\",\"payload\":{\"direction\":\"sideways\"}}",
|
|
out _,
|
|
out _));
|
|
}
|
|
}
|