summaryrefslogtreecommitdiff
path: root/spec/views/ci/status/_badge.html.haml_spec.rb
diff options
context:
space:
mode:
Diffstat (limited to 'spec/views/ci/status/_badge.html.haml_spec.rb')
-rw-r--r--spec/views/ci/status/_badge.html.haml_spec.rb61
1 files changed, 33 insertions, 28 deletions
diff --git a/spec/views/ci/status/_badge.html.haml_spec.rb b/spec/views/ci/status/_badge.html.haml_spec.rb
index 04ee841da00..c62450fb8e2 100644
--- a/spec/views/ci/status/_badge.html.haml_spec.rb
+++ b/spec/views/ci/status/_badge.html.haml_spec.rb
@@ -10,13 +10,13 @@ describe 'ci/status/_badge', :view do
create(:ci_build, :success, pipeline: pipeline)
end
- context 'when status has details' do
+ context 'when user has ability to see details' do
before do
project.add_developer(user)
end
it 'has link to build details page' do
- details_path = namespace_project_build_path(
+ details_path = namespace_project_build_path(
project.namespace, project, build)
render_status(build)
@@ -25,7 +25,7 @@ describe 'ci/status/_badge', :view do
end
end
- context 'when status does not have details' do
+ context 'when user do not have ability to see build details' do
before do
render_status(build)
end
@@ -41,39 +41,44 @@ describe 'ci/status/_badge', :view do
end
context 'when rendering status for external job' do
- before do
- project.add_developer(use)
+ context 'when user has ability to see commit status details' do
+ before do
+ project.add_developer(user)
+ end
- render_status(external_job)
- end
+ context 'status has external target url' do
+ before do
+ external_job = create(:generic_commit_status,
+ status: :running,
+ pipeline: pipeline,
+ target_url: 'http://gitlab.com')
- context 'status has external target url' do
- let(:external_job) do
- create(:generic_commit_status, status: :running,
- pipeline: pipeline,
- target_url: 'http://gitlab.com')
- end
+ render_status(external_job)
+ end
- it 'contains valid commit status text' do
- expect(rendered).to have_content 'running'
- end
+ it 'contains valid commit status text' do
+ expect(rendered).to have_content 'running'
+ end
- it 'has link to external status page' do
- expect(rendered).to have_link 'running', href: 'http://gitlab.com'
+ it 'has link to external status page' do
+ expect(rendered).to have_link 'running', href: 'http://gitlab.com'
+ end
end
- end
- context 'status do not have external target url' do
- let(:external_job) do
- create(:generic_commit_status, status: :canceled)
- end
+ context 'status do not have external target url' do
+ before do
+ external_job = create(:generic_commit_status, status: :canceled)
- it 'contains valid commit status text' do
- expect(rendered).to have_content 'canceled'
- end
+ render_status(external_job)
+ end
+
+ it 'contains valid commit status text' do
+ expect(rendered).to have_content 'canceled'
+ end
- it 'has link to external status page' do
- expect(rendered).not_to have_link 'canceled'
+ it 'has link to external status page' do
+ expect(rendered).not_to have_link 'canceled'
+ end
end
end
end