summaryrefslogtreecommitdiff
path: root/spec/models/generic_commit_status_spec.rb
diff options
context:
space:
mode:
authorGrzegorz Bizon <grzesiek.bizon@gmail.com>2017-01-17 14:40:50 +0100
committerGrzegorz Bizon <grzesiek.bizon@gmail.com>2017-01-17 14:40:50 +0100
commit32ab86d4f14ba3b77b20f85e184a6b535c77c2de (patch)
tree216dbef5194951f7472fd5903bfa299f339d02f8 /spec/models/generic_commit_status_spec.rb
parentb222f6d56f2a319b3ef8aa30a2466e95347c7007 (diff)
downloadgitlab-ce-32ab86d4f14ba3b77b20f85e184a6b535c77c2de.tar.gz
Add specs for a new external build detailed status
Diffstat (limited to 'spec/models/generic_commit_status_spec.rb')
-rw-r--r--spec/models/generic_commit_status_spec.rb26
1 files changed, 22 insertions, 4 deletions
diff --git a/spec/models/generic_commit_status_spec.rb b/spec/models/generic_commit_status_spec.rb
index 6004bfdb7b7..b17d7cfe94c 100644
--- a/spec/models/generic_commit_status_spec.rb
+++ b/spec/models/generic_commit_status_spec.rb
@@ -1,10 +1,13 @@
require 'spec_helper'
describe GenericCommitStatus, models: true do
- let(:pipeline) { create(:ci_pipeline) }
+ let(:project) { create(:empty_project) }
+ let(:pipeline) { create(:ci_pipeline, project: project) }
+ let(:external_url) { 'http://example.gitlab.com/status' }
let(:generic_commit_status) do
- create(:generic_commit_status, pipeline: pipeline)
+ create(:generic_commit_status, pipeline: pipeline,
+ target_url: external_url)
end
describe '#context' do
@@ -22,10 +25,25 @@ describe GenericCommitStatus, models: true do
describe '#detailed_status' do
let(:user) { create(:user) }
+ let(:status) { generic_commit_status.detailed_status(user) }
it 'returns detailed status object' do
- expect(generic_commit_status.detailed_status(user))
- .to be_a Gitlab::Ci::Status::Success
+ expect(status).to be_a Gitlab::Ci::Status::Success
+ end
+
+ context 'when user has ability to see datails' do
+ before { project.team << [user, :developer] }
+
+ it 'details path points to an external URL' do
+ expect(status).to have_details
+ expect(status.details_path).to eq external_url
+ end
+ end
+
+ context 'when user should not see details' do
+ it 'does not have details' do
+ expect(status).not_to have_details
+ end
end
end