diff options
author | Kamil Trzciński (OoO till 16th of April) <ayufan@ayufan.eu> | 2018-04-18 08:24:19 +0000 |
---|---|---|
committer | Kamil Trzciński (OoO till 16th of April) <ayufan@ayufan.eu> | 2018-04-18 08:24:19 +0000 |
commit | 55ce9d244853a2534a80db3be4b9cfecb9625dd6 (patch) | |
tree | 729bc1f336ce24c50e28ffecb52d7ca057435868 /spec/models | |
parent | 019e881d448f05a253bdd6a5dcd26c42885770c4 (diff) | |
parent | 067f5f11c2f5c987697a78a42f23db1db1a90856 (diff) | |
download | gitlab-ce-55ce9d244853a2534a80db3be4b9cfecb9625dd6.tar.gz |
Merge branch 'improve-jobs-queuing-time-metric' into 'master'
Improve jobs queuing time metric (fixed version)
Closes #45205
See merge request gitlab-org/gitlab-ce!18283
Diffstat (limited to 'spec/models')
-rw-r--r-- | spec/models/commit_status_spec.rb | 32 |
1 files changed, 32 insertions, 0 deletions
diff --git a/spec/models/commit_status_spec.rb b/spec/models/commit_status_spec.rb index c536dab2681..2ed29052dc1 100644 --- a/spec/models/commit_status_spec.rb +++ b/spec/models/commit_status_spec.rb @@ -533,4 +533,36 @@ describe CommitStatus do end end end + + describe '#enqueue' do + let!(:current_time) { Time.new(2018, 4, 5, 14, 0, 0) } + + before do + allow(Time).to receive(:now).and_return(current_time) + end + + shared_examples 'commit status enqueued' do + it 'sets queued_at value when enqueued' do + expect { commit_status.enqueue }.to change { commit_status.reload.queued_at }.from(nil).to(current_time) + end + end + + context 'when initial state is :created' do + let(:commit_status) { create(:commit_status, :created) } + + it_behaves_like 'commit status enqueued' + end + + context 'when initial state is :skipped' do + let(:commit_status) { create(:commit_status, :skipped) } + + it_behaves_like 'commit status enqueued' + end + + context 'when initial state is :manual' do + let(:commit_status) { create(:commit_status, :manual) } + + it_behaves_like 'commit status enqueued' + end + end end |