Files
evening_detective_server/internal/app/participation_test.go
T
2026-10-03 01:24:18 +07:00

32 lines
1.0 KiB
Go

package app
import (
"errors"
"strings"
"testing"
"evening_detective_server/internal/services/participation_service"
)
func TestParticipationError(t *testing.T) {
for _, tc := range []struct {
name string
err error
want string
}{
{"invalid link", participation_service.ErrParticipationLink, "Ссылка недействительна"},
{"closed", participation_service.ErrParticipationClosed, "Приём ответов закрыт"},
{"final", participation_service.ErrParticipationFinal, "Решение уже принято и не может быть изменено"},
{"internal", errors.New("private database detail"), "Не удалось обработать ответ. Попробуйте позже."},
} {
t.Run(tc.name, func(t *testing.T) {
if got := participationError(tc.err); got != tc.want {
t.Fatalf("message=%q, want %q", got, tc.want)
}
if strings.Contains(participationError(tc.err), "private database detail") {
t.Fatal("private error exposed")
}
})
}
}