diff options
| author | Lukasz Kasprzak <lukas@labunix.xyz> | 2026-08-03 23:56:14 +0200 |
|---|---|---|
| committer | Lukasz Kasprzak <lukas@labunix.xyz> | 2026-08-03 23:56:14 +0200 |
| commit | 13d5e99ab90ab872c8cc072a0246348f0d24fa9a (patch) | |
| tree | c70a355d0ad4c6fd4dc5007c42b223b854544d69 /mobile/mobile_test.go | |
| parent | e3d551ebb8f6ac2bf1a7027991a4222e83309a39 (diff) | |
| download | lectio-13d5e99ab90ab872c8cc072a0246348f0d24fa9a.tar.gz lectio-13d5e99ab90ab872c8cc072a0246348f0d24fa9a.zip | |
mobile: return the day's rank and its localised label
Diffstat (limited to 'mobile/mobile_test.go')
| -rw-r--r-- | mobile/mobile_test.go | 42 |
1 files changed, 42 insertions, 0 deletions
diff --git a/mobile/mobile_test.go b/mobile/mobile_test.go new file mode 100644 index 0000000..c7df63c --- /dev/null +++ b/mobile/mobile_test.go @@ -0,0 +1,42 @@ +package mobile + +import ( + "encoding/json" + "testing" +) + +func decodeDay(t *testing.T, s string) map[string]any { + t.Helper() + var m map[string]any + if err := json.Unmarshal([]byte(s), &m); err != nil { + t.Fatalf("Day returned invalid JSON: %v\n%s", err, s) + } + return m +} + +func TestDayCarriesLocalisedRank(t *testing.T) { + pl := decodeDay(t, Day("2026-08-01", "of", "vul", "pl")) + if pl["rank"] != "memorial" { + t.Errorf("pl rank = %v, want memorial", pl["rank"]) + } + if pl["rank_label"] != "wspomnienie obowiązkowe" { + t.Errorf("pl rank_label = %v", pl["rank_label"]) + } + en := decodeDay(t, Day("2026-08-01", "of", "vul", "en")) + if en["rank_label"] != "memorial" { + t.Errorf("en rank_label = %v", en["rank_label"]) + } +} + +// The app shows the colour as a swatch and never as a word, so the raw key must +// be present and no localised label may be. This test exists so the app cannot +// quietly start depending on a colour word. +func TestDayHasColourKeyButNoColourLabel(t *testing.T) { + m := decodeDay(t, Day("2026-08-01", "of", "vul", "pl")) + if m["colour"] != "white" { + t.Errorf("colour = %v, want white", m["colour"]) + } + if _, present := m["colour_label"]; present { + t.Error("colour_label must not be returned: the app draws a swatch") + } +} |
