fix: match padded stock names in security searches
This commit is contained in:
@@ -47,6 +47,22 @@ func testScreeningLifecycle(t *testing.T, ctx context.Context, pool *pgxpool.Poo
|
||||
if err := repository.NewMarketRepository(pool).Save(ctx, provider, []model.Instrument{instrument}, time.Now().UTC(), ""); err != nil {
|
||||
t.Fatal(err)
|
||||
}
|
||||
searchRepo := repository.NewMarketRepository(pool)
|
||||
if err := searchRepo.Save(ctx, provider, []model.Instrument{{Symbol: "002215", Exchange: "SZSE", Name: "诺 普 信", PriceCents: 1000, ObservedAt: observed}}, time.Now().UTC(), ""); err != nil {
|
||||
t.Fatal(err)
|
||||
}
|
||||
for _, query := range []string{"诺普信", "诺 普 信", " 诺\t普 信 ", "002215", "002 215"} {
|
||||
stocks, err := searchRepo.List(ctx, query)
|
||||
if err != nil || len(stocks) != 1 || stocks[0].Symbol != "002215" || stocks[0].Name != "诺 普 信" {
|
||||
t.Fatalf("padded security search %q: %v, %v", query, stocks, err)
|
||||
}
|
||||
}
|
||||
for _, query := range []string{"not-a-security", "%", "_"} {
|
||||
stocks, err := searchRepo.List(ctx, query)
|
||||
if err != nil || len(stocks) != 0 {
|
||||
t.Fatalf("literal security search %q matched: %v, %v", query, stocks, err)
|
||||
}
|
||||
}
|
||||
repo := repository.NewScreeningRepository(pool)
|
||||
targets, err := repo.Targets(ctx, provider)
|
||||
if err != nil || len(targets) != 1 {
|
||||
|
||||
Reference in New Issue
Block a user