feat(web,server): embed статики SPA + fallback, монтирование в cmd/server

This commit is contained in:
2026-07-03 18:14:18 +07:00
parent 388bf4aeb6
commit bba72cc70f
5 changed files with 100 additions and 1 deletions
+26
View File
@@ -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)
}
}