diff --git a/internal/lkgateway/claimfail_render_test.go b/internal/lkgateway/claimfail_render_test.go new file mode 100644 index 0000000..7e2f1fd --- /dev/null +++ b/internal/lkgateway/claimfail_render_test.go @@ -0,0 +1,31 @@ +package lkgateway + +import ( + "bytes" + "strings" + "testing" + "time" +) + +// Карточка недоставленной заявки: плашка с причиной и кнопка «Отправить повторно». +func TestClaimRenderSendFailure(t *testing.T) { + a, err := newAdmin() + if err != nil { + t.Fatal(err) + } + var b bytes.Buffer + data := claimData{page: page{Title: "Заявка"}, Claim: ClaimView{ID: "7f1c5cfb-3552-452a-9738-074f47a6a770", Status: "awaiting_decision"}, + Fail: &SendFailure{PackageID: "187", Code: "ERRORXML_UPLOAD_FAILED", At: time.Now(), Attempts: 1}} + if err := a.claim.ExecuteTemplate(&b, "layout", data); err != nil { + t.Fatal(err) + } + s := b.String() + for _, want := range []string{"Перевод не доставлен в НРД", "контур НРД не принял пакет", "/resend", "Отправить повторно"} { + if !strings.Contains(s, want) { + t.Fatalf("нет %q", want) + } + } + if strings.Contains(s, "delete-draft") { + t.Fatal("ушедшую в DEPO заявку (awaiting_decision) удалять нельзя") + } +}