summaryrefslogtreecommitdiff
path: root/spec/models
diff options
context:
space:
mode:
authorKamil Trzciński (OoO till 16th of April) <ayufan@ayufan.eu>2018-04-18 08:24:19 +0000
committerKamil Trzciński (OoO till 16th of April) <ayufan@ayufan.eu>2018-04-18 08:24:19 +0000
commit55ce9d244853a2534a80db3be4b9cfecb9625dd6 (patch)
tree729bc1f336ce24c50e28ffecb52d7ca057435868 /spec/models
parent019e881d448f05a253bdd6a5dcd26c42885770c4 (diff)
parent067f5f11c2f5c987697a78a42f23db1db1a90856 (diff)
downloadgitlab-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.rb32
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