Сверка DEPO: квалификация по признаку бумаги — входящие: зелёный/отказ M2M08, исходящие: зелёный/предупреждение (решает получатель); общая жёлтая строка убрана
Co-Authored-By: Claude Opus 5 (1M context) <noreply@anthropic.com>
This commit is contained in:
@@ -71,3 +71,23 @@ func TestQualOnlyCheck(t *testing.T) {
|
||||
t.Fatalf("инвестор не найден — отказ даёт M2M04, не эта проверка: %+v", c)
|
||||
}
|
||||
}
|
||||
|
||||
// Списание: бумага для квал. инвесторов у неквалифицированного у нас клиента — предупреждение, не отказ.
|
||||
func TestOutQualCheck(t *testing.T) {
|
||||
const q = "бумага предназначена для квалифицированных инвесторов (опция DEPO)"
|
||||
notQual := depoParty{faceOK: true, qualWarn: true, qualDet: "инвестор НЕ квалифицированный"}
|
||||
if c := outQualCheck(true, true, q, notQual); !c.OK || !c.Warn || c.Strict {
|
||||
t.Fatalf("неквал у нас отправляет бумагу для квал: %+v", c)
|
||||
}
|
||||
if c := outQualCheck(true, true, q, depoParty{faceOK: true, qualAll: true}); !c.OK || c.Warn {
|
||||
t.Fatalf("квал по всем видам: %+v", c)
|
||||
}
|
||||
if c := outQualCheck(true, false, "ограничений по обращению нет (опция DEPO)", notQual); !c.OK || c.Warn {
|
||||
t.Fatalf("бумага без ограничений — зелёный: %+v", c)
|
||||
}
|
||||
for _, c := range partyChecks(notQual, "1", "2", "x") {
|
||||
if strings.HasPrefix(c.Name, "Квал") {
|
||||
t.Fatalf("общая жёлтая строка квалификации больше не нужна: %+v", c)
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user