Commit 8e6e1e1d authored by Alexandru Croitor's avatar Alexandru Croitor

Fix wording on milestone due date today

Fix wording on milestone due date, to show today instead of
hours ago or remaining, when milestone is due today.
parent da0a5c7c
......@@ -46,12 +46,14 @@ module EntityDateHelper
# If start date is provided and elapsed, with no due date, it returns "# days elapsed"
def remaining_days_in_words(due_date, start_date = nil)
if due_date&.past?
content_tag(:strong, 'Past due')
content_tag(:strong, _('Past due'))
elsif due_date&.today?
content_tag(:strong, _('Today'))
elsif start_date&.future?
content_tag(:strong, 'Upcoming')
content_tag(:strong, _('Upcoming'))
elsif due_date
is_upcoming = (due_date - Date.today).to_i > 0
time_ago = time_ago_in_words(due_date)
time_ago = distance_of_time_in_words(due_date, Date.today)
# https://gitlab.com/gitlab-org/gitlab-ce/issues/49440
#
......@@ -59,8 +61,8 @@ module EntityDateHelper
# of the string instead of piecewise translations.
content = time_ago
.gsub(/\d+/) { |match| "<strong>#{match}</strong>" }
.remove("about ")
remaining_or_ago = is_upcoming ? _("remaining") : _("ago")
.remove('about ')
remaining_or_ago = is_upcoming ? _('remaining') : _('ago')
"#{content} #{remaining_or_ago}".html_safe
elsif start_date&.past?
......
---
title: Fix wording on milestone due date when milestone is due today
merge_request: 32096
author:
type: changed
......@@ -57,6 +57,28 @@ describe EntityDateHelper do
end
end
context 'when milestone due date is today' do
let(:milestone_remaining) { date_helper_class.remaining_days_in_words(Date.today) }
it 'returns today' do
expect(milestone_remaining).to eq("<strong>Today</strong>")
end
end
context 'when milestone due date is tomorrow' do
let(:milestone_remaining) { date_helper_class.remaining_days_in_words(Date.tomorrow) }
it 'returns 1 day remaining' do
expect(milestone_remaining).to eq("<strong>1</strong> day remaining")
end
it 'returns 1 day remaining when queried mid-day' do
Timecop.freeze(Time.utc(2017, 3, 17, 13, 10)) do
expect(milestone_remaining).to eq("<strong>1</strong> day remaining")
end
end
end
context 'when less than 1 year and more than 30 days remaining' do
let(:milestone_remaining) { date_helper_class.remaining_days_in_words(2.months.from_now.utc.to_date) }
......
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment