package server import ( "io" "log/slog" "net/http" "net/http/httptest" "strings" "testing" "sourcecraft.dev/bigbes/huntsman/internal/domain/search" "sourcecraft.dev/bigbes/huntsman/internal/platform/health" ) func newTestRouter(t *testing.T) http.Handler { t.Helper() logger := slog.New(slog.NewTextHandler(io.Discard, nil)) svc, err := search.NewService("gh", "https://example.com") if err != nil { t.Fatalf("NewService: %v", err) } return Routes(logger, health.New(), search.NewHandler(svc)) } func TestIndexHandler(t *testing.T) { h := newTestRouter(t) rr := httptest.NewRecorder() h.ServeHTTP(rr, httptest.NewRequestWithContext(t.Context(), "GET", "/", http.NoBody)) if rr.Code != http.StatusOK { t.Fatalf("status = %d", rr.Code) } if got := rr.Header().Get("Content-Type"); !strings.HasPrefix(got, "text/html") { t.Errorf("content-type = %q", got) } body := rr.Body.String() if !strings.Contains(body, `