Files
cairnquire/apps/server/internal/httpserver/service_worker_test.go

30 lines
844 B
Go

package httpserver
import (
"net/http"
"net/http/httptest"
"testing"
)
func TestHandleServiceWorkerServesJavaScript(t *testing.T) {
server := &Server{}
req := httptest.NewRequest(http.MethodGet, "/sw.js", nil)
recorder := httptest.NewRecorder()
server.handleServiceWorker(recorder, req)
response := recorder.Result()
if response.StatusCode != http.StatusOK {
t.Fatalf("status = %d, want %d", response.StatusCode, http.StatusOK)
}
if got := response.Header.Get("Content-Type"); got != "application/javascript; charset=utf-8" {
t.Fatalf("Content-Type = %q, want application/javascript; charset=utf-8", got)
}
if got := response.Header.Get("Service-Worker-Allowed"); got != "/" {
t.Fatalf("Service-Worker-Allowed = %q, want /", got)
}
if recorder.Body.Len() == 0 {
t.Fatal("expected non-empty service worker body")
}
}