fix: preserve search input and add choseong lookup
This commit is contained in:
@@ -66,6 +66,48 @@ public sealed class LegacyParityStockSearchServiceTests
|
||||
call => Assert.Equal(string.Empty, call.Spec.Parameters[0].Value));
|
||||
}
|
||||
|
||||
[Fact]
|
||||
public async Task InitialConsonantSearch_FiltersOnlyLegacySearchCandidatesInProviderOrder()
|
||||
{
|
||||
var executor = new RecordingExecutor(new Dictionary<string, DataTable>
|
||||
{
|
||||
["LEGACY_PARITY_KOSPI_MASTER"] = Table(
|
||||
("삼성전자", "005930")),
|
||||
["LEGACY_PARITY_KOSDAQ_MASTER"] = Table(
|
||||
("삼성중공업", "010140")),
|
||||
["LEGACY_PARITY_NXT_KOSPI_MASTER"] = Table(
|
||||
("삼성전자(NXT)", "005930"),
|
||||
("삼성화재(NXT)", "000810")),
|
||||
["LEGACY_PARITY_NXT_KOSDAQ_MASTER"] = Table(
|
||||
("카카오게임즈(NXT)", "293490")),
|
||||
["LEGACY_PARITY_KOSPI"] = Table(
|
||||
("삼성전자", "005930"),
|
||||
("서울반도체", "046890")),
|
||||
["LEGACY_PARITY_KOSDAQ"] = Table(
|
||||
("삼성중공업", "010140")),
|
||||
["LEGACY_PARITY_NXT_KOSPI"] = Table(
|
||||
("삼성전자(NXT)", "005930")),
|
||||
["LEGACY_PARITY_NXT_KOSDAQ"] = Table()
|
||||
});
|
||||
var service = new LegacyParityStockSearchService(executor);
|
||||
|
||||
var result = await service.SearchAsync("ㅅㅅ");
|
||||
|
||||
Assert.Equal(
|
||||
["삼성전자", "삼성중공업", "삼성전자(NXT)"],
|
||||
result.DisplayNames);
|
||||
Assert.DoesNotContain("삼성화재(NXT)", result.DisplayNames);
|
||||
Assert.NotNull(result.ResolveLastByDisplayName("삼성화재(NXT)"));
|
||||
Assert.Equal(8, executor.Calls.Count);
|
||||
Assert.All(
|
||||
executor.Calls.Where(call => !call.TableName.EndsWith("_MASTER", StringComparison.Ordinal)),
|
||||
call => Assert.Equal(string.Empty, call.Spec.Parameters[0].Value));
|
||||
Assert.Contains(
|
||||
executor.Calls,
|
||||
call => call.TableName == "LEGACY_PARITY_NXT_KOSPI" &&
|
||||
call.Spec.Sql.Contains("N_ONLINE", StringComparison.Ordinal));
|
||||
}
|
||||
|
||||
private static DataTable Table(params (string Name, string Code)[] rows)
|
||||
{
|
||||
var table = new DataTable();
|
||||
|
||||
Reference in New Issue
Block a user