Something went wrong. Try again.
[READ-ONLY] Mirror of https://github.com/openstatusHQ/cli. OpenStatus CLI www.openstatus.dev
Something went wrong. Try again.
Go
123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102package wizard_test
import ( "strings" "testing"
"github.com/openstatusHQ/cli/internal/wizard")
func Test_NotEmpty(t *testing.T) { t.Parallel()
validator := wizard.NotEmpty("title")
t.Run("empty string returns error", func(t *testing.T) { if err := validator(""); err == nil { t.Error("expected error for empty string") } })
t.Run("whitespace-only returns error", func(t *testing.T) { if err := validator(" "); err == nil { t.Error("expected error for whitespace-only string") } })
t.Run("non-empty string returns nil", func(t *testing.T) { if err := validator("hello"); err != nil { t.Errorf("expected nil, got %v", err) } })
t.Run("error message contains field name", func(t *testing.T) { err := validator("") if err == nil { t.Fatal("expected error") } if err.Error() != "title cannot be empty" { t.Errorf("expected 'title cannot be empty', got %q", err.Error()) } })}
func Test_BuildSummary(t *testing.T) { t.Parallel()
lines := [][2]string{ {"Page", "Production"}, {"Status", "investigating"}, } result := wizard.BuildSummary(lines) if result == "" { t.Error("expected non-empty summary") } if !strings.Contains(result, "Page") || !strings.Contains(result, "Production") { t.Errorf("summary missing expected content: %s", result) } if !strings.Contains(result, "Status") || !strings.Contains(result, "investigating") { t.Errorf("summary missing expected content: %s", result) }}
func Test_ValidRFC3339(t *testing.T) { t.Parallel()
validator := wizard.ValidRFC3339("from")
t.Run("valid RFC 3339 passes", func(t *testing.T) { if err := validator("2026-04-01T10:00:00Z"); err != nil { t.Errorf("expected nil, got %v", err) } })
t.Run("valid RFC 3339 with offset passes", func(t *testing.T) { if err := validator("2026-04-01T12:00:00+02:00"); err != nil { t.Errorf("expected nil, got %v", err) } })
t.Run("invalid string fails", func(t *testing.T) { if err := validator("not-a-date"); err == nil { t.Error("expected error for invalid string") } })
t.Run("empty string fails", func(t *testing.T) { if err := validator(""); err == nil { t.Error("expected error for empty string") } })
t.Run("error message contains field name", func(t *testing.T) { err := validator("bad") if err == nil { t.Fatal("expected error") } if !strings.Contains(err.Error(), "from") { t.Errorf("expected error to contain 'from', got %q", err.Error()) } })}