Files
Bridge-and-Join-s/internal/lkgateway/lkportfolio_test.go
T
fontvielle 6f1df8350a Портфель ДЕПО в ЛК: маршруты карточки подключены (были 404 с 29.09)
registerLKPortfolioSync не вызывался: поиск клиента DEPO, «Залить сейчас»,
«Добавить в постоянное заполнение», «Включить…» и «Сохранить список»
отвечали 404 — работала только фоновая сверка по сохранённым настройкам.
Тест на регистрацию маршрутов.

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_01Q7eREaYwUt1i4fNLZcGnjn
2026-10-22 11:38:00 +03:00

53 lines
1.9 KiB
Go
Raw Blame History

This file contains ambiguous Unicode characters
This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.
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)
}
}
}