aboutsummaryrefslogtreecommitdiff
path: root/internal/liturgy/store_test.go
diff options
context:
space:
mode:
Diffstat (limited to 'internal/liturgy/store_test.go')
-rw-r--r--internal/liturgy/store_test.go42
1 files changed, 42 insertions, 0 deletions
diff --git a/internal/liturgy/store_test.go b/internal/liturgy/store_test.go
new file mode 100644
index 0000000..979b091
--- /dev/null
+++ b/internal/liturgy/store_test.go
@@ -0,0 +1,42 @@
+package liturgy
+
+import (
+ "net/http"
+ "net/http/httptest"
+ "os"
+ "strings"
+ "testing"
+)
+
+func TestHarvestAndOffline(t *testing.T) {
+ html, _ := os.ReadFile("testdata/2026-07-22.html")
+ srv := httptest.NewServer(http.HandlerFunc(func(w http.ResponseWriter, r *http.Request) {
+ if strings.Contains(r.URL.Path, "2026-07-22") {
+ w.Write(html)
+ } else {
+ w.Write([]byte("<html>Przykro nam</html>")) // horizon
+ }
+ }))
+ defer srv.Close()
+ t.Setenv("XDG_CACHE_HOME", t.TempDir())
+ t.Setenv("XDG_DATA_HOME", t.TempDir())
+ baseURL = srv.URL + "/liturgia/%s/Ewangelia"
+
+ added, _, err := Harvest("2026-07-22", 3)
+ if err != nil || added < 1 {
+ t.Fatalf("harvest: added=%d err=%v", added, err)
+ }
+ secs, err := LoadOffline("2026-07-22")
+ if err != nil {
+ t.Fatal(err)
+ }
+ var haveGospel bool
+ for _, s := range secs {
+ if s.Citation == "J 20, 1. 11-18" {
+ haveGospel = true
+ }
+ }
+ if !haveGospel {
+ t.Error("offline gospel citation missing")
+ }
+}