summaryrefslogtreecommitdiff
path: root/test/models/concerns/rrule_humanizer_test.rb
diff options
context:
space:
mode:
authorerdgeist <erdgeist@erdgeist.org>2026-07-16 16:43:11 +0200
committererdgeist <erdgeist@erdgeist.org>2026-07-16 16:43:11 +0200
commit35dc05de97677d57123617a7c4e78aad1611b28d (patch)
tree2960f3a8d363a12edd497fc96a022a9da77929fd /test/models/concerns/rrule_humanizer_test.rb
parentb701669d0d9a5d7be01f99b8e725c05c6c5d52ce (diff)
managed RRULE constructs now include week selection
Improve the humanizer to also understand weekly patters that an editor can manually select, on top of the single week rules. Extend template and javascript controller to reflect these changes.
Diffstat (limited to 'test/models/concerns/rrule_humanizer_test.rb')
-rw-r--r--test/models/concerns/rrule_humanizer_test.rb18
1 files changed, 18 insertions, 0 deletions
diff --git a/test/models/concerns/rrule_humanizer_test.rb b/test/models/concerns/rrule_humanizer_test.rb
index 279ff73f..c4e78d48 100644
--- a/test/models/concerns/rrule_humanizer_test.rb
+++ b/test/models/concerns/rrule_humanizer_test.rb
@@ -47,6 +47,24 @@ class RruleHumanizerTest < ActiveSupport::TestCase
47 assert_equal "Every second-to-last Thursday of the month", humanize("FREQ=MONTHLY;BYDAY=-2TH", :en) 47 assert_equal "Every second-to-last Thursday of the month", humanize("FREQ=MONTHLY;BYDAY=-2TH", :en)
48 end 48 end
49 49
50 test "monthly selected weeks" do
51 assert_equal "Jeden ersten Dienstag und dritten Dienstag im Monat",
52 humanize("FREQ=MONTHLY;BYDAY=1TU,3TU")
53 assert_equal "Every first Tuesday and third Tuesday of the month",
54 humanize("FREQ=MONTHLY;BYDAY=1TU,3TU", :en)
55 end
56
57 test "monthly fifth weekday" do
58 assert_equal "Jeden fünften Dienstag im Monat", humanize("FREQ=MONTHLY;BYDAY=5TU")
59 assert_equal "Every fifth Tuesday of the month", humanize("FREQ=MONTHLY;BYDAY=5TU", :en)
60 end
61
62 test "monthly weekday excluding one ordinal" do
63 rrule = "FREQ=MONTHLY;BYDAY=1TU,3TU,4TU,5TU"
64 assert_equal "Jeden Dienstag im Monat, außer dem zweiten Dienstag", humanize(rrule)
65 assert_equal "Every Tuesday of the month, except the second Tuesday", humanize(rrule, :en)
66 end
67
50 test "monthly no byday" do 68 test "monthly no byday" do
51 assert_equal "Monatlich", humanize("FREQ=MONTHLY") 69 assert_equal "Monatlich", humanize("FREQ=MONTHLY")
52 assert_equal "Monthly", humanize("FREQ=MONTHLY", :en) 70 assert_equal "Monthly", humanize("FREQ=MONTHLY", :en)