Welcome to mirror list, hosted at ThFree Co, Russian Federation.

gitlab.com/gitlab-org/gitlab-foss.git - Unnamed repository; edit this file 'description' to name the repository.
summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
Diffstat (limited to 'spec/controllers/projects/badges_controller_spec.rb')
-rw-r--r--spec/controllers/projects/badges_controller_spec.rb28
1 files changed, 24 insertions, 4 deletions
diff --git a/spec/controllers/projects/badges_controller_spec.rb b/spec/controllers/projects/badges_controller_spec.rb
index 7e7a630921f..242b2fd3ec6 100644
--- a/spec/controllers/projects/badges_controller_spec.rb
+++ b/spec/controllers/projects/badges_controller_spec.rb
@@ -3,9 +3,9 @@
require 'spec_helper'
RSpec.describe Projects::BadgesController do
- let(:project) { pipeline.project }
- let!(:pipeline) { create(:ci_empty_pipeline) }
- let(:user) { create(:user) }
+ let_it_be(:project, reload: true) { create(:project, :repository) }
+ let_it_be(:pipeline, reload: true) { create(:ci_empty_pipeline, project: project) }
+ let_it_be(:user) { create(:user) }
shared_examples 'a badge resource' do |badge_type|
context 'when pipelines are public' do
@@ -137,6 +137,26 @@ RSpec.describe Projects::BadgesController do
describe '#pipeline' do
it_behaves_like 'a badge resource', :pipeline
+
+ context 'with ignore_skipped param' do
+ render_views
+
+ before do
+ pipeline.update!(status: :skipped)
+ project.add_maintainer(user)
+ sign_in(user)
+ end
+
+ it 'returns skipped badge if set to false' do
+ get_badge(:pipeline, ignore_skipped: false)
+ expect(response.body).to include('skipped')
+ end
+
+ it 'does not return skipped badge if set to true' do
+ get_badge(:pipeline, ignore_skipped: true)
+ expect(response.body).to include('unknown')
+ end
+ end
end
describe '#coverage' do
@@ -148,7 +168,7 @@ RSpec.describe Projects::BadgesController do
namespace_id: project.namespace.to_param,
project_id: project,
ref: pipeline.ref
- }.merge(args.slice(:style, :key_text, :key_width))
+ }.merge(args.slice(:style, :key_text, :key_width, :ignore_skipped))
get badge, params: params, format: :svg
end