Skip to content

Commit

Permalink
Remove "expired unread" short block status
Browse files Browse the repository at this point in the history
It was supposed to mean that the block is past its end date but still wasn't read by the user. That turned out to be confusing because although it said "expired", such blocks were active.
  • Loading branch information
AntonKhorev committed Jan 3, 2025
1 parent d38f648 commit f7b0e87
Show file tree
Hide file tree
Showing 3 changed files with 20 additions and 9 deletions.
10 changes: 3 additions & 7 deletions app/helpers/user_blocks_helper.rb
Original file line number Diff line number Diff line change
Expand Up @@ -27,14 +27,10 @@ def block_status(block)

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?
Expand Down
3 changes: 1 addition & 2 deletions config/locales/en.yml
Original file line number Diff line number Diff line change
Expand Up @@ -2972,8 +2972,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}"
Expand Down
16 changes: 16 additions & 0 deletions test/helpers/user_blocks_helper_test.rb
Original file line number Diff line number Diff line change
Expand Up @@ -14,6 +14,22 @@ def test_block_status
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
Expand Down

0 comments on commit f7b0e87

Please sign in to comment.