27 lines
694 B
Go
27 lines
694 B
Go
package web
|
|
|
|
import (
|
|
"net/http"
|
|
"net/http/httptest"
|
|
"testing"
|
|
)
|
|
|
|
func TestHandlerServesIndexAndSPAFallback(t *testing.T) {
|
|
h, err := Handler()
|
|
if err != nil {
|
|
t.Fatalf("handler: %v", err)
|
|
}
|
|
// корень → 200 и HTML
|
|
rec := httptest.NewRecorder()
|
|
h.ServeHTTP(rec, httptest.NewRequest(http.MethodGet, "/", nil))
|
|
if rec.Code != http.StatusOK {
|
|
t.Fatalf("root status %d", rec.Code)
|
|
}
|
|
// неизвестный клиентский путь → SPA fallback (index.html), не 404
|
|
rec2 := httptest.NewRecorder()
|
|
h.ServeHTTP(rec2, httptest.NewRequest(http.MethodGet, "/domains/xyz", nil))
|
|
if rec2.Code != http.StatusOK {
|
|
t.Fatalf("SPA fallback status %d", rec2.Code)
|
|
}
|
|
}
|