6f1df8350a
registerLKPortfolioSync не вызывался: поиск клиента DEPO, «Залить сейчас», «Добавить в постоянное заполнение», «Включить…» и «Сохранить список» отвечали 404 — работала только фоновая сверка по сохранённым настройкам. Тест на регистрацию маршрутов. Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com> Claude-Session: https://claude.ai/code/session_01Q7eREaYwUt1i4fNLZcGnjn
53 lines
1.9 KiB
Go
53 lines
1.9 KiB
Go
package lkgateway
|
||
|
||
import (
|
||
"net/http"
|
||
"net/http/httptest"
|
||
"path/filepath"
|
||
"testing"
|
||
)
|
||
|
||
func TestLKPaperTypeAndPairs(t *testing.T) {
|
||
for cfi, want := range map[string]string{"ESVXFR": "share", "EDSXFR": "depositary_receipt", "DBFXFR": "bond", "CEOGMR": "fund"} {
|
||
if got := lkPaperType(cfi, ""); got != want {
|
||
t.Fatalf("%s: %s", cfi, got)
|
||
}
|
||
}
|
||
if lkPaperType("", "ОФЗ 26238 ПД обл") != "bond" || lkPaperType("", "БПИФ «Ликвидность» фонд") != "fund" {
|
||
t.Fatal("по названию")
|
||
}
|
||
p := LKPortfolioSyncSettings{Pairs: "ДД-816=БР-859; мусор ;ДД-1 = БР-1"}.pairs()
|
||
if len(p) != 2 || p[0].LK != "ДД-816" || p[0].Depo != "БР-859" || p[1].Depo != "БР-1" {
|
||
t.Fatalf("%+v", p)
|
||
}
|
||
}
|
||
|
||
func TestLKContractByAccount(t *testing.T) {
|
||
def := LKPortfolioSyncSettings{}
|
||
if got := lkContractByAccount(def, "ВТНКЦ00000816"); got != "ДД-816" {
|
||
t.Fatalf("по умолчанию: %q", got)
|
||
}
|
||
if got := lkContractByAccount(def, "В00000816"); got != "" {
|
||
t.Fatalf("не торговый счёт: %q", got)
|
||
}
|
||
other := LKPortfolioSyncSettings{AccountPrefix: "TR-", ContractTemplate: "D/{n}/2024"}
|
||
if got := lkContractByAccount(other, "TR-0042"); got != "D/42/2024" {
|
||
t.Fatalf("другое именование: %q", got)
|
||
}
|
||
}
|
||
|
||
// Маршруты карточки «Заполнение портфеля ДЕПО» зарегистрированы (29.09–22.10 их не было — 404).
|
||
func TestLKPortfolioRoutes(t *testing.T) {
|
||
mux := http.NewServeMux()
|
||
rc, err := NewRuntimeConfig(filepath.Join(t.TempDir(), "setup.json"))
|
||
if err != nil {
|
||
t.Fatal(err)
|
||
}
|
||
registerSetup(mux, &admin{}, rc, nil)
|
||
for _, p := range []string{"/admin/setup/lk-portfolio", "/admin/setup/lk-portfolio/clients"} {
|
||
if _, pat := mux.Handler(httptest.NewRequest("GET", p, nil)); pat != p {
|
||
t.Errorf("%s: маршрут %q", p, pat)
|
||
}
|
||
}
|
||
}
|