package handlers

import (
	"net/http/httptest"
	"testing"
)

func TestSetStaticCacheHeaders(t *testing.T) {
	tests := map[string]string{
		"/static/css/00-base.css":   "public, max-age=86400",
		"/static/js/00-utils.js":    "public, max-age=86400",
		"/static/img/preview.webp":  "public, max-age=31536000, immutable",
		"/static/fonts/ui.woff2":    "public, max-age=31536000, immutable",
		"/static/videos/intro.mp4":  "public, max-age=31536000, immutable",
		"/static/uploads/file.data": "public, max-age=3600",
	}

	for path, want := range tests {
		response := httptest.NewRecorder()
		setStaticCacheHeaders(response, path)

		if got := response.Header().Get("Cache-Control"); got != want {
			t.Fatalf("Cache-Control for %s = %q, want %q", path, got, want)
		}
	}
}
