support_ticket_test.go 1017 B

123456789101112131415161718192021222324252627282930313233343536373839
  1. package service
  2. import (
  3. "context"
  4. "strings"
  5. "testing"
  6. "github.com/stretchr/testify/require"
  7. )
  8. func TestValidateTicketSubject(t *testing.T) {
  9. _, err := validateTicketSubject(" ")
  10. require.Error(t, err)
  11. _, err = validateTicketSubject(strings.Repeat("x", 201))
  12. require.Error(t, err)
  13. ok, err := validateTicketSubject(" 无法调用 claude ")
  14. require.NoError(t, err)
  15. require.Equal(t, "无法调用 claude", ok)
  16. }
  17. func TestValidateTicketBody(t *testing.T) {
  18. _, err := validateTicketBody("")
  19. require.Error(t, err)
  20. _, err = validateTicketBody(strings.Repeat("y", 20001))
  21. require.Error(t, err)
  22. ok, err := validateTicketBody("detail")
  23. require.NoError(t, err)
  24. require.Equal(t, "detail", ok)
  25. }
  26. func TestTicketServiceNilDB(t *testing.T) {
  27. svc := NewTicketService(nil)
  28. _, err := svc.Create(context.Background(), 1, "s", "b")
  29. require.Error(t, err)
  30. _, err = svc.ListMine(context.Background(), 1)
  31. require.Error(t, err)
  32. _, err = svc.ListAll(context.Background(), "", "", 0, 0)
  33. require.Error(t, err)
  34. }