Commit bc26349b authored by Nick Thomas's avatar Nick Thomas

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
parents 1068ec2e 8e6e1e1d
...@@ -46,12 +46,14 @@ module EntityDateHelper ...@@ -46,12 +46,14 @@ module EntityDateHelper
# If start date is provided and elapsed, with no due date, it returns "# days elapsed" # 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) def remaining_days_in_words(due_date, start_date = nil)
if due_date&.past? 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? elsif start_date&.future?
content_tag(:strong, 'Upcoming') content_tag(:strong, _('Upcoming'))
elsif due_date elsif due_date
is_upcoming = (due_date - Date.today).to_i > 0 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 # https://gitlab.com/gitlab-org/gitlab-ce/issues/49440
# #
...@@ -59,8 +61,8 @@ module EntityDateHelper ...@@ -59,8 +61,8 @@ module EntityDateHelper
# of the string instead of piecewise translations. # of the string instead of piecewise translations.
content = time_ago content = time_ago
.gsub(/\d+/) { |match| "<strong>#{match}</strong>" } .gsub(/\d+/) { |match| "<strong>#{match}</strong>" }
.remove("about ") .remove('about ')
remaining_or_ago = is_upcoming ? _("remaining") : _("ago") remaining_or_ago = is_upcoming ? _('remaining') : _('ago')
"#{content} #{remaining_or_ago}".html_safe "#{content} #{remaining_or_ago}".html_safe
elsif start_date&.past? 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 ...@@ -57,6 +57,28 @@ describe EntityDateHelper do
end end
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 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) } 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