From 998a84a1b4e05b348c9bc3bf32cc10eea47c099a Mon Sep 17 00:00:00 2001 From: Simon Poole Date: Sat, 18 Feb 2017 18:08:25 +0100 Subject: [PATCH 1/3] Small improvement to block status display --- app/helpers/user_blocks_helper.rb | 7 ++++++- config/locales/en.yml | 1 + 2 files changed, 7 insertions(+), 1 deletion(-) diff --git a/app/helpers/user_blocks_helper.rb b/app/helpers/user_blocks_helper.rb index 282d9164a..3c9c0a37e 100644 --- a/app/helpers/user_blocks_helper.rb +++ b/app/helpers/user_blocks_helper.rb @@ -4,8 +4,13 @@ module UserBlocksHelper # user block (i.e: whether it's active, what the expiry time is) def block_status(block) if block.active? + # if the block hasn't expired yet show the date, if the user just needs to login show that if block.needs_view? - I18n.t("user_block.helper.until_login") + if block.ends_at > Time.now.getutc + I18n.t("user_block.helper.time_future_and_until_login", :time => friendly_date(block.ends_at)).html_safe + else + I18n.t("user_block.helper.until_login") + end else I18n.t("user_block.helper.time_future", :time => friendly_date(block.ends_at)).html_safe end diff --git a/config/locales/en.yml b/config/locales/en.yml index b2ebffd61..757e74e63 100644 --- a/config/locales/en.yml +++ b/config/locales/en.yml @@ -2112,6 +2112,7 @@ en: helper: time_future: "Ends in %{time}." until_login: "Active until the user logs in." + time_future_and_until_login: "Expires in %{time} and requires the user to login." time_past: "Ended %{time} ago." blocks_on: title: "Blocks on %{name}" From 455e906afa4f918b5831ed36bdb24a2c1eed73d1 Mon Sep 17 00:00:00 2001 From: Simon Poole Date: Sun, 19 Feb 2017 11:59:34 +0100 Subject: [PATCH 2/3] Improve wording and add test --- config/locales/en.yml | 2 +- test/helpers/user_blocks_helper_test.rb | 43 +++++++++++++++++++++++++ 2 files changed, 44 insertions(+), 1 deletion(-) create mode 100644 test/helpers/user_blocks_helper_test.rb diff --git a/config/locales/en.yml b/config/locales/en.yml index 757e74e63..3afa7e805 100644 --- a/config/locales/en.yml +++ b/config/locales/en.yml @@ -2112,7 +2112,7 @@ en: helper: time_future: "Ends in %{time}." until_login: "Active until the user logs in." - time_future_and_until_login: "Expires in %{time} and requires the user to login." + time_future_and_until_login: "Ends in %{time} and after the user has logged in." time_past: "Ended %{time} ago." blocks_on: title: "Blocks on %{name}" diff --git a/test/helpers/user_blocks_helper_test.rb b/test/helpers/user_blocks_helper_test.rb new file mode 100644 index 000000000..026ddc300 --- /dev/null +++ b/test/helpers/user_blocks_helper_test.rb @@ -0,0 +1,43 @@ +# coding: utf-8 +require "test_helper" +include ApplicationHelper + +class UserBlocksHelperTest < ActionView::TestCase + + def setup + I18n.locale = "en" + end + + def teardown + I18n.locale = "en" + end + + def test_block_status + block = UserBlock.create( + :user_id => 1, + :creator_id => 2, + :reason => "testing", + :needs_view => true, + :ends_at => Time.now.getutc + ) + assert_equal I18n.t("user_block.helper.until_login"), block_status(block) + block_end = Time.now.getutc + 60.minutes + block = UserBlock.create( + :user_id => 1, + :creator_id => 2, + :reason => "testing", + :needs_view => true, + :ends_at => Time.now.getutc + 60.minutes + ) + assert_equal I18n.t("user_block.helper.time_future_and_until_login", :time => friendly_date(block_end)).html_safe, block_status(block) + block_end = Time.now.getutc + 60.minutes + block = UserBlock.create( + :user_id => 1, + :creator_id => 2, + :reason => "testing", + :needs_view => false, + :ends_at => Time.now.getutc + 60.minutes + ) + assert_equal I18n.t("user_block.helper.time_future", :time => friendly_date(block_end)).html_safe, block_status(block) + end +end From 325cd12c248892a78c4042d22fbdd8c1467037fb Mon Sep 17 00:00:00 2001 From: Simon Poole Date: Sun, 19 Feb 2017 12:35:02 +0100 Subject: [PATCH 3/3] Make rupocop happy and correct placement of include --- test/helpers/user_blocks_helper_test.rb | 7 +++---- 1 file changed, 3 insertions(+), 4 deletions(-) diff --git a/test/helpers/user_blocks_helper_test.rb b/test/helpers/user_blocks_helper_test.rb index 026ddc300..de5ff1c6a 100644 --- a/test/helpers/user_blocks_helper_test.rb +++ b/test/helpers/user_blocks_helper_test.rb @@ -1,9 +1,8 @@ # coding: utf-8 require "test_helper" -include ApplicationHelper class UserBlocksHelperTest < ActionView::TestCase - + include ApplicationHelper def setup I18n.locale = "en" end @@ -29,7 +28,7 @@ class UserBlocksHelperTest < ActionView::TestCase :needs_view => true, :ends_at => Time.now.getutc + 60.minutes ) - assert_equal I18n.t("user_block.helper.time_future_and_until_login", :time => friendly_date(block_end)).html_safe, block_status(block) + assert_equal I18n.t("user_block.helper.time_future_and_until_login", :time => friendly_date(block_end)), block_status(block) block_end = Time.now.getutc + 60.minutes block = UserBlock.create( :user_id => 1, @@ -38,6 +37,6 @@ class UserBlocksHelperTest < ActionView::TestCase :needs_view => false, :ends_at => Time.now.getutc + 60.minutes ) - assert_equal I18n.t("user_block.helper.time_future", :time => friendly_date(block_end)).html_safe, block_status(block) + assert_equal I18n.t("user_block.helper.time_future", :time => friendly_date(block_end)), block_status(block) end end