aboutsummaryrefslogtreecommitdiff
path: root/internal/web/server_test.go
diff options
context:
space:
mode:
authorLukasz Kasprzak <lukas@labunix.xyz>2026-07-24 16:56:07 +0200
committerLukasz Kasprzak <lukas@labunix.xyz>2026-07-24 16:56:07 +0200
commit378926240f34759116b19e078d2b2504965f5329 (patch)
treec8e8f2288869882ccc01845eaead8f3c11f067dd /internal/web/server_test.go
parent29e244c48222278c2f255ff2adf45e3af7c9f895 (diff)
downloadlectio-378926240f34759116b19e078d2b2504965f5329.tar.gz
lectio-378926240f34759116b19e078d2b2504965f5329.zip
export: month calendar PDF (A4 landscape, Monday-first grid, feast name + gospel ref + liturgical colour per day); cli --calendar YYYY-MM; web /calendar + link; readings.GospelCitation; v0.23.0
Diffstat (limited to 'internal/web/server_test.go')
-rw-r--r--internal/web/server_test.go18
1 files changed, 18 insertions, 0 deletions
diff --git a/internal/web/server_test.go b/internal/web/server_test.go
index 43508ba..284a454 100644
--- a/internal/web/server_test.go
+++ b/internal/web/server_test.go
@@ -645,3 +645,21 @@ func TestExportNoReadings(t *testing.T) {
t.Errorf("export with no readings status=%d (want 404/500)", rec.Code)
}
}
+
+func TestCalendarPDF(t *testing.T) {
+ t.Setenv("XDG_CACHE_HOME", t.TempDir())
+ cfg := config.Default()
+ cfg.Offline = true // no network; empty cells are fine, PDF still renders
+ srv := NewServer(cfg)
+ rec := httptest.NewRecorder()
+ srv.ServeHTTP(rec, httptest.NewRequest("GET", "/calendar?month=2026-07", nil))
+ if rec.Code != 200 {
+ t.Fatalf("calendar status %d", rec.Code)
+ }
+ if ct := rec.Header().Get("Content-Type"); ct != "application/pdf" {
+ t.Errorf("content-type %q", ct)
+ }
+ if b := rec.Body.Bytes(); len(b) < 1000 || string(b[:4]) != "%PDF" {
+ t.Errorf("not a pdf (len=%d)", len(b))
+ }
+}