package webui import ( "net/http" "net/http/httptest" "testing" ) // TestVendoredAssetsServedUnderBothPrefixes confirms Bootstrap/Bootstrap // Icons/Quill are served locally (no CDN dependency) under both the admin and // webmail static routes — templates in each tree reference their own prefix. func TestVendoredAssetsServedUnderBothPrefixes(t *testing.T) { app := newTestApp(t) mux := app.Mux() paths := []string{ Prefix + "/static/vendor/bootstrap/css/bootstrap.min.css", Prefix + "/static/vendor/bootstrap/js/bootstrap.bundle.min.js", Prefix + "/static/vendor/bootstrap-icons/font/bootstrap-icons.css", Prefix + "/static/vendor/bootstrap-icons/font/fonts/bootstrap-icons.woff2", MailboxPrefix + "/static/vendor/bootstrap/css/bootstrap.min.css", MailboxPrefix + "/static/vendor/quill/quill.js", MailboxPrefix + "/static/vendor/quill/quill.snow.css", } for _, p := range paths { req := httptest.NewRequest(http.MethodGet, p, nil) rec := httptest.NewRecorder() mux.ServeHTTP(rec, req) if rec.Code != http.StatusOK { t.Errorf("%s: status=%d", p, rec.Code) } if rec.Body.Len() == 0 { t.Errorf("%s: empty body", p) } } }