diff options
| author | Lukasz Kasprzak <lukas@labunix.xyz> | 2026-07-27 21:30:56 +0200 |
|---|---|---|
| committer | Lukasz Kasprzak <lukas@labunix.xyz> | 2026-07-27 21:30:56 +0200 |
| commit | bec7c034aca15537900d74a7063d85c0f4deacae (patch) | |
| tree | baf4cac4e3a38507b8a0f9de80ac251a5df82908 /internal/calfeed/build_test.go | |
| parent | 2901c73fde7ff19e8cdea00f933dc628d11c6ec6 (diff) | |
| download | lectio-bec7c034aca15537900d74a7063d85c0f4deacae.tar.gz lectio-bec7c034aca15537900d74a7063d85c0f4deacae.zip | |
feat(calfeed): shared day builder + reusable reading resolver
Diffstat (limited to 'internal/calfeed/build_test.go')
| -rw-r--r-- | internal/calfeed/build_test.go | 46 |
1 files changed, 46 insertions, 0 deletions
diff --git a/internal/calfeed/build_test.go b/internal/calfeed/build_test.go new file mode 100644 index 0000000..333a51b --- /dev/null +++ b/internal/calfeed/build_test.go @@ -0,0 +1,46 @@ +package calfeed + +import ( + "testing" + "time" + + "github.com/lukaszkasprzak/lectio/internal/caldata" + "github.com/lukaszkasprzak/lectio/internal/calendar" +) + +func TestBuildThreeDayRange(t *testing.T) { + sel := calendar.DefaultSelection() + sel.Form = "old" + layers := []calendar.Layer{caldata.Tridentine()} + + from := time.Date(2026, 1, 5, 0, 0, 0, 0, time.UTC) + to := time.Date(2026, 1, 7, 0, 0, 0, 0, time.UTC) + days := Build(from, to, "en", sel, layers, func(date time.Time, day calendar.LiturgicalDay) []calendar.Reading { + return caldata.Readings(sel, layers, date, day) + }) + + if len(days) != 3 { + t.Fatalf("len(days) = %d, want 3", len(days)) + } + + wantDates := []string{"2026-01-05", "2026-01-06", "2026-01-07"} + seenWeekday := false + feastFound := false + for i, d := range days { + if d.Date != wantDates[i] { + t.Errorf("day %d: date = %q, want %q", i, d.Date, wantDates[i]) + } + if d.Weekday != "" { + seenWeekday = true + } + if d.Date == "2026-01-06" && d.Observed.Name != "" { + feastFound = true + } + } + if !seenWeekday { + t.Errorf("expected weekday strings to be set: %+v", days) + } + if !feastFound { + t.Errorf("expected Epiphany (2026-01-06) to have a non-empty Observed.Name: %+v", days) + } +} |
