Merge branch '62591-fix-milestone-due-date-today-wording' into 'master'
Fix wording on milestone due date today Closes #62591 See merge request gitlab-org/gitlab-ce!32096
This commit is contained in:
commit
bc26349b76
|
@ -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?
|
||||
|
|
|
@ -0,0 +1,5 @@
|
|||
---
|
||||
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) }
|
||||
|
||||
|
|
Loading…
Reference in New Issue