]> git.openstreetmap.org Git - rails.git/blob - test/helpers/user_blocks_helper_test.rb
Ensure that short duration blockss are shown as '0 hours'
[rails.git] / test / helpers / user_blocks_helper_test.rb
1 require "test_helper"
2
3 class UserBlocksHelperTest < ActionView::TestCase
4   include ApplicationHelper
5
6   def test_block_status
7     block = create(:user_block, :needs_view, :ends_at => Time.now.getutc)
8     assert_equal "Active until the user logs in.", block_status(block)
9
10     block = create(:user_block, :needs_view, :ends_at => Time.now.getutc + 1.hour)
11     assert_match %r{^Ends in <span title=".*">about 1 hour</span> and after the user has logged in\.$}, block_status(block)
12
13     block = create(:user_block, :ends_at => Time.now.getutc + 1.hour)
14     assert_match %r{^Ends in <span title=".*">about 1 hour</span>\.$}, block_status(block)
15   end
16
17   def test_block_duration_in_words
18     words = block_duration_in_words(364.days)
19     assert_equal "11 months", words
20
21     words = block_duration_in_words(24.hours)
22     assert_equal "1 day", words
23
24     # Ensure that nil hours is not passed to i18n.t
25     words = block_duration_in_words(10.minutes)
26     assert_equal "0 hours", words
27
28     words = block_duration_in_words(0)
29     assert_equal "0 hours", words
30   end
31 end