feat(web,server): embed статики SPA + fallback, монтирование в cmd/server
This commit is contained in:
@@ -0,0 +1,26 @@
|
||||
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)
|
||||
}
|
||||
}
|
||||
Reference in New Issue
Block a user