]> git.openstreetmap.org Git - rails.git/commitdiff
Merge remote-tracking branch 'upstream/pull/5458'
authorTom Hughes <tom@compton.nu>
Fri, 3 Jan 2025 19:21:29 +0000 (19:21 +0000)
committerTom Hughes <tom@compton.nu>
Fri, 3 Jan 2025 19:21:29 +0000 (19:21 +0000)
app/helpers/user_blocks_helper.rb
config/locales/en.yml
test/helpers/user_blocks_helper_test.rb

index 8a3a8a3eb460f2b8c550d7daeba3c99e724e48f2..c7c12f6d1f17901f54e05367c35b9d4fdc69bd2e 100644 (file)
@@ -27,14 +27,10 @@ module UserBlocksHelper
 
   def block_short_status(block)
     if block.active?
-      if block.needs_view?
-        if block.ends_at > Time.now.utc
-          t("user_blocks.helper.short.active_unread")
-        else
-          t("user_blocks.helper.short.expired_unread")
-        end
-      else
+      if block.ends_at > Time.now.utc
         t("user_blocks.helper.short.active")
+      else
+        t("user_blocks.helper.short.active_until_read")
       end
     else
       if block.revoker_id.nil?
index 2a34c0a599372a8ecbd482b3cb9684dbd61985df..72632d1e8af9a7a55cbfb3d020c8b544464e8a00 100644 (file)
@@ -2973,8 +2973,7 @@ en:
         ended: "ended"
         revoked_html: "revoked by %{name}"
         active: "active"
-        active_unread: "active unread"
-        expired_unread: "expired unread"
+        active_until_read: "active until read"
         read_html: "read at %{time}"
         time_in_future_title: "%{time_absolute}; in %{time_relative}"
         time_in_past_title: "%{time_absolute}; %{time_relative}"
index db4fd87a49a8d9672bd0785437f64f0cc5b1ca28..99f59af4795437b488e576fdecca530de7cbc4cb 100644 (file)
@@ -14,6 +14,22 @@ class UserBlocksHelperTest < ActionView::TestCase
     assert_match %r{^Ends in <time title=".* datetime=".*">about 1 hour</time>\.$}, block_status(block)
   end
 
+  def test_block_short_status
+    freeze_time do
+      future_end_block = create(:user_block, :ends_at => Time.now.utc + 48.hours)
+      unread_future_end_block = create(:user_block, :needs_view, :ends_at => Time.now.utc + 48.hours)
+      past_end_block = create(:user_block, :ends_at => Time.now.utc + 1.hour)
+      unread_past_end_block = create(:user_block, :needs_view, :ends_at => Time.now.utc + 1.hour)
+
+      travel 24.hours
+
+      assert_equal "active", block_short_status(future_end_block)
+      assert_equal "active", block_short_status(unread_future_end_block)
+      assert_equal "ended", block_short_status(past_end_block)
+      assert_equal "active until read", block_short_status(unread_past_end_block)
+    end
+  end
+
   def test_block_duration_in_words
     words = block_duration_in_words(364.days)
     assert_equal "11 months", words