Files
2026-08-19 02:15:57 +07:00

66 lines
1.6 KiB
Go

package app
import (
"context"
"strings"
"testing"
proto "evening_detective_server/proto"
)
func TestGetLegalDocs(t *testing.T) {
s := &server{}
tests := []struct {
name string
call func() (text, errText string)
wantPart string
}{
{
name: "GetTerms отдаёт Пользовательское соглашение",
call: func() (string, string) {
rsp, err := s.GetTerms(context.Background(), &proto.GetTermsReq{})
if err != nil {
t.Fatalf("GetTerms error: %v", err)
}
return rsp.Text, rsp.Error
},
wantPart: "СОГЛАШЕНИЕ",
},
{
name: "GetPrivacy отдаёт Политику конфиденциальности",
call: func() (string, string) {
rsp, err := s.GetPrivacy(context.Background(), &proto.GetPrivacyReq{})
if err != nil {
t.Fatalf("GetPrivacy error: %v", err)
}
return rsp.Text, rsp.Error
},
wantPart: "КОНФИДЕНЦИАЛЬНОСТИ",
},
{
name: "GetConsent отдаёт текст согласия на обработку ПДн",
call: func() (string, string) {
rsp, err := s.GetConsent(context.Background(), &proto.GetConsentReq{})
if err != nil {
t.Fatalf("GetConsent error: %v", err)
}
return rsp.Text, rsp.Error
},
wantPart: "СОГЛАСИЕ",
},
}
for _, tt := range tests {
t.Run(tt.name, func(t *testing.T) {
text, errText := tt.call()
if errText != "" {
t.Fatalf("ожидался успех, получена ошибка: %s", errText)
}
if !strings.Contains(text, tt.wantPart) {
t.Errorf("текст документа не содержит %q", tt.wantPart)
}
})
}
}