7288c86fba
Co-Authored-By: Claude Opus 5 (1M context) <noreply@anthropic.com>
28 lines
1.4 KiB
Go
28 lines
1.4 KiB
Go
package lkgateway
|
|
|
|
import "testing"
|
|
|
|
func TestPartyChecksFIO(t *testing.T) {
|
|
p := depoParty{faceOK: true, faceName: "Сёмин Пётр Ильич", accAny: "ВТНКЦ00000001"}
|
|
p.fioMatch = normFIO(p.faceName) == normFIO("СЕМИН петр ильич")
|
|
if c := partyChecks(p, "4500", "123456", "СЕМИН петр ильич")[0]; !c.OK {
|
|
t.Errorf("регистр, пробелы и ё не должны давать расхождение: %+v", c)
|
|
}
|
|
p.fioMatch = normFIO(p.faceName) == normFIO("Сёмин Павел Ильич")
|
|
c := partyChecks(p, "4500", "123456", "Сёмин Павел Ильич")[0]
|
|
if c.OK || c.Code != "M2M04" {
|
|
t.Errorf("паспорт совпал, ФИО нет — ожидали отказ M2M04: %+v", c)
|
|
}
|
|
// Физлицо в картотеке без торгового счёта — не наш клиент: M2M04 первой проверкой.
|
|
noAcc := depoParty{faceOK: true, faceName: "Баранкин Сергей Сергеевич", fioMatch: true}
|
|
checks := partyChecks(noAcc, "3763", "290089", "Баранкин Сергей Сергеевич")
|
|
if c := checks[0]; c.OK || c.Code != "M2M04" {
|
|
t.Errorf("лицо без счёта — ожидали отказ M2M04: %+v", c)
|
|
}
|
|
sr := depoSecResult{Checks: checks}
|
|
finishSec(&sr)
|
|
if sr.RejectCode != "M2M04" {
|
|
t.Errorf("итоговый код по бумаге %q, ожидали M2M04", sr.RejectCode)
|
|
}
|
|
}
|