feat: restore legacy drag events and Tornado launch integration
This commit is contained in:
@@ -5,6 +5,40 @@ namespace MBN_STOCK_WEBVIEW.Core.Tests;
|
||||
|
||||
public sealed class LegacyThemeCatalogPersistenceServiceTests
|
||||
{
|
||||
[Theory]
|
||||
[InlineData(ThemeMarket.Krx, DataSourceKind.Oracle, 0, false)]
|
||||
[InlineData(ThemeMarket.Krx, DataSourceKind.Oracle, 2, true)]
|
||||
[InlineData(ThemeMarket.Nxt, DataSourceKind.MariaDb, 0, false)]
|
||||
[InlineData(ThemeMarket.Nxt, DataSourceKind.MariaDb, 2, true)]
|
||||
public async Task ThemeNameExistsAsync_UsesOneParameterizedExactReadOnTheSelectedMarket(
|
||||
ThemeMarket market,
|
||||
DataSourceKind expectedSource,
|
||||
long count,
|
||||
bool expected)
|
||||
{
|
||||
var query = new CatalogRecordingQueryExecutor(_ => ThemeCountTable(count));
|
||||
var service = new LegacyThemeCatalogPersistenceService(query);
|
||||
var title = new string('가', 128);
|
||||
|
||||
var exists = await service.ThemeNameExistsAsync(market, title);
|
||||
|
||||
Assert.Equal(expected, exists);
|
||||
var call = Assert.Single(query.Calls);
|
||||
Assert.Equal(expectedSource, call.Source);
|
||||
Assert.Equal(
|
||||
market == ThemeMarket.Krx
|
||||
? LegacyThemeCatalogPersistenceService.NameExistsKrxQueryName
|
||||
: LegacyThemeCatalogPersistenceService.NameExistsNxtQueryName,
|
||||
call.TableName);
|
||||
Assert.Contains("COUNT(*) THEME_COUNT", call.Spec.Sql, StringComparison.Ordinal);
|
||||
Assert.Contains("s.SB_TITLE = ", call.Spec.Sql, StringComparison.Ordinal);
|
||||
Assert.DoesNotContain(title, call.Spec.Sql, StringComparison.Ordinal);
|
||||
var parameter = Assert.Single(call.Spec.Parameters);
|
||||
Assert.Equal("theme_title", parameter.Name);
|
||||
Assert.Equal(title, parameter.Value);
|
||||
Assert.Equal(DbType.String, parameter.DbType);
|
||||
}
|
||||
|
||||
[Fact]
|
||||
public async Task SuggestNextCodeAsync_UsesReadOnlyProviderSpecificQueries()
|
||||
{
|
||||
@@ -341,6 +375,14 @@ public sealed class LegacyThemeCatalogPersistenceServiceTests
|
||||
private static CatalogRecordingQueryExecutor UnusedQuery() =>
|
||||
new(_ => throw new InvalidOperationException("No read query was expected."));
|
||||
|
||||
private static DataTable ThemeCountTable(long count)
|
||||
{
|
||||
var table = new DataTable();
|
||||
table.Columns.Add("THEME_COUNT", typeof(long));
|
||||
table.Rows.Add(count);
|
||||
return table;
|
||||
}
|
||||
|
||||
private static OperatorCatalogDbParameter Parameter(
|
||||
OperatorCatalogDbCommand command,
|
||||
string name) =>
|
||||
|
||||
Reference in New Issue
Block a user