generated from VLADIMIR/template
66 lines
1.6 KiB
Go
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)
|
|
}
|
|
})
|
|
}
|
|
}
|