Commit 390abbf0 authored by Winnie Hellmann's avatar Winnie Hellmann

Add placeholder for remaining time in delayed job tooltips

parent d0c58a97
......@@ -9,7 +9,7 @@ module Gitlab
{
image: 'illustrations/illustrations_scheduled-job_countdown.svg',
size: 'svg-394',
title: _("This is a delayed to run in ") + " #{execute_in}",
title: _("This is a delayed job to run in %{remainingTime}"),
content: _("This job will automatically run after it's timer finishes. " \
"Often they are used for incremental roll-out deploys " \
"to production environments. When unscheduled it converts " \
......@@ -18,21 +18,12 @@ module Gitlab
end
def status_tooltip
"delayed manual action (#{execute_in})"
"delayed manual action (%{remainingTime})"
end
def self.matches?(build, user)
build.scheduled? && build.scheduled_at
end
private
include TimeHelper
def execute_in
remaining_seconds = [0, subject.scheduled_at - Time.now].max
duration_in_numbers(remaining_seconds)
end
end
end
end
......
......@@ -6188,7 +6188,7 @@ msgstr ""
msgid "This is a confidential issue."
msgstr ""
msgid "This is a delayed to run in "
msgid "This is a delayed job to run in %{remainingTime}"
msgstr ""
msgid "This is the author's first Merge Request to this project."
......
......@@ -595,7 +595,7 @@ describe 'Jobs', :clean_gitlab_redis_shared_state do
end
it 'shows delayed job', :js do
expect(page).to have_content('This is a delayed to run in')
expect(page).to have_content('This is a delayed job to run in')
expect(page).to have_content("This job will automatically run after it's timer finishes.")
expect(page).to have_link('Unschedule job')
end
......
......@@ -13,24 +13,10 @@ describe Gitlab::Ci::Status::Build::Scheduled do
end
describe '#status_tooltip' do
context 'when scheduled_at is not expired' do
let(:build) { create(:ci_build, scheduled_at: 1.minute.since, project: project) }
it 'shows execute_in of the scheduled job' do
Timecop.freeze(Time.now.change(usec: 0)) do
expect(subject.status_tooltip).to include('00:01:00')
end
end
end
context 'when scheduled_at is expired' do
let(:build) { create(:ci_build, :expired_scheduled, project: project) }
let(:build) { create(:ci_build, scheduled_at: 1.minute.since, project: project) }
it 'shows 00:00' do
Timecop.freeze do
expect(subject.status_tooltip).to include('00:00')
end
end
it 'has a placeholder for the remaining time' do
expect(subject.status_tooltip).to include('%{remainingTime}')
end
end
......
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