Путь заявки из всех источников: сделка, QUIK, события DEPO (с обработкой/ошибкой), поручение 16 и документы НРД (регистрация, GS036, GS116 сквитовано, MS010); «Обновлена» — последнее событие; статус учитывает сквитовку (GS116), время MS010 в строке статуса

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_014FsEKyJrYF69Cj9ZXzFLRi
This commit is contained in:
zuevav
2026-09-29 12:44:52 +03:00
parent e123eda691
commit 340fca7bd7
7 changed files with 405 additions and 46 deletions
+11 -2
View File
@@ -39,7 +39,16 @@ func TestNoCounterNotice(t *testing.T) {
t.Fatalf("входящий: %q", s)
}
w.Direction, w.MS010At = "out", at.Add(53*time.Minute)
if s := w.StatusRu(); !strings.Contains(s, "исполнено") || !strings.Contains(s, "задержка на стороне контрагента") {
t.Fatalf("исполнено с задержкой: %q", s)
if s := w.StatusRu(); !strings.Contains(s, "исполнено") || !strings.Contains(s, "подано не сразу") {
t.Fatalf("исполнено, встречное не сразу: %q", s)
}
// сквитовано через минуту, исполнение НРД через 52 мин — задержка у НРД, не у контрагента
w.MatchedAt = at.Add(time.Minute)
if s := w.StatusRu(); strings.Contains(s, "не сразу") || !strings.Contains(s, "сквитовано со встречным в 17:51, исполнение НРД — через 52 мин") {
t.Fatalf("исполнено после сквитовки: %q", s)
}
w.MS010At = time.Time{}
if s := w.StatusRu(); !strings.Contains(s, "сквитовано со встречным") || !strings.Contains(s, "ждём исполнения НРД") {
t.Fatalf("сквитовано, ждём: %q", s)
}
}