c546773840
Источник наименований: карточка нашей фирмы в справочнике НРД, без неё — DEPO (черновик). Анкета предупреждает и даёт готовый текст запроса в НРД, если карточки нет, полное похоже на краткое, отличается от карточки или английские неполные; при ответе M2M37 — подсказка запросить наименования. Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com> Claude-Session: https://claude.ai/code/session_01Q7eREaYwUt1i4fNLZcGnjn
42 lines
1.9 KiB
Go
42 lines
1.9 KiB
Go
package lkgateway
|
|
|
|
import (
|
|
"strings"
|
|
"testing"
|
|
)
|
|
|
|
// Наименования в анкете — как в клиентской базе НРД: прямые кавычки, без лишних пробелов (M2M37).
|
|
func TestParticipantFormNames(t *testing.T) {
|
|
d := participantFormData{
|
|
INN: "7703807489", DepoCode: "MC0413600000",
|
|
FullName: "Общество с ограниченной ответственностью «Инвестиционная Компания “Фонтвьель»",
|
|
ShortName: "ООО «ИК «Фонтвьель»",
|
|
DisplayName: "ООО «ИК «Фонтвьель»",
|
|
}
|
|
x := participantFormXML(d)
|
|
for _, want := range []string{
|
|
`<m2m:FullName>Общество с ограниченной ответственностью "Инвестиционная Компания "Фонтвьель"</m2m:FullName>`,
|
|
`<m2m:ShortName>ООО "ИК "Фонтвьель"</m2m:ShortName>`,
|
|
`<m2m:DisplayName>ООО "ИК "Фонтвьель"</m2m:DisplayName>`,
|
|
} {
|
|
if !strings.Contains(x, want) {
|
|
t.Errorf("нет %s в\n%s", want, x)
|
|
}
|
|
}
|
|
if strings.Contains(x, "<m2m:Eng>") {
|
|
t.Error("пустые английские наименования не должны попадать в анкету")
|
|
}
|
|
}
|
|
|
|
// Без карточки НРД и с кратким вместо полного — подсказка уточнить у НРД.
|
|
func TestParticipantNameCheck(t *testing.T) {
|
|
d := participantFormData{FullName: `ООО "ИК "Фонтвьель"`, ShortName: `ООО "ИК "Фонтвьель"`}
|
|
ws := pfNameCheck(nil, d)
|
|
if len(ws) != 2 || !strings.Contains(ws[0], "уточните") || !strings.Contains(ws[1], "сокращённое") {
|
|
t.Fatalf("подсказки: %q", ws)
|
|
}
|
|
if !strings.Contains(pfAskNSD("MC0413600000"), "MC0413600000") {
|
|
t.Error("в запросе нет кода участника")
|
|
}
|
|
}
|