Commit cc4e8478 authored by Kamil Trzciński's avatar Kamil Trzciński

Merge branch '52778-don-t-display-pipeline-status-if-pipelines-are-disabled' into 'master'

Resolve "Don't display pipeline status if pipelines are disabled"

Closes #52778

See merge request gitlab-org/gitlab-ce!25204
parents a91bacf5 8c60c671
...@@ -595,6 +595,14 @@ class Project < ActiveRecord::Base ...@@ -595,6 +595,14 @@ class Project < ActiveRecord::Base
end end
end end
def ci_pipelines
if builds_enabled?
super
else
super.external
end
end
# returns all ancestor-groups upto but excluding the given namespace # returns all ancestor-groups upto but excluding the given namespace
# when no namespace is given, all ancestors upto the top are returned # when no namespace is given, all ancestors upto the top are returned
def ancestors_upto(top = nil, hierarchy_order: nil) def ancestors_upto(top = nil, hierarchy_order: nil)
......
---
title: Hide pipeline status when pipelines are disabled on project.
merge_request: 25204
author:
type: fixed
...@@ -428,6 +428,30 @@ describe Project do ...@@ -428,6 +428,30 @@ describe Project do
end end
end end
describe '#ci_pipelines' do
let(:project) { create(:project) }
before do
create(:ci_pipeline, project: project, ref: 'master', source: :web)
create(:ci_pipeline, project: project, ref: 'master', source: :external)
end
it 'has ci pipelines' do
expect(project.ci_pipelines.size).to eq(2)
end
context 'when builds are disabled' do
before do
project.project_feature.update_attribute(:builds_access_level, ProjectFeature::DISABLED)
end
it 'should return .external pipelines' do
expect(project.ci_pipelines).to all(have_attributes(source: 'external'))
expect(project.ci_pipelines.size).to eq(1)
end
end
end
describe 'project token' do describe 'project token' do
it 'sets an random token if none provided' do it 'sets an random token if none provided' do
project = FactoryBot.create(:project, runners_token: '') project = FactoryBot.create(:project, runners_token: '')
......
require 'spec_helper' require 'spec_helper'
describe 'projects/commits/_commit.html.haml' do describe 'projects/commits/_commit.html.haml' do
let(:project) { create(:project, :repository) }
let(:commit) { project.repository.commit(ref) }
before do before do
allow(view).to receive(:current_application_settings).and_return(Gitlab::CurrentSettings.current_application_settings) allow(view).to receive(:current_application_settings).and_return(Gitlab::CurrentSettings.current_application_settings)
end end
context 'with a singed commit' do context 'with a signed commit' do
let(:project) { create(:project, :repository) }
let(:repository) { project.repository }
let(:ref) { GpgHelpers::SIGNED_COMMIT_SHA } let(:ref) { GpgHelpers::SIGNED_COMMIT_SHA }
let(:commit) { repository.commit(ref) }
it 'does not display a loading spinner for GPG status' do it 'does not display a loading spinner for GPG status' do
render partial: 'projects/commits/commit', locals: { render partial: 'projects/commits/commit', locals: {
...@@ -23,4 +23,55 @@ describe 'projects/commits/_commit.html.haml' do ...@@ -23,4 +23,55 @@ describe 'projects/commits/_commit.html.haml' do
end end
end end
end end
context 'with ci status' do
let(:ref) { 'master' }
let(:user) { create(:user) }
before do
allow(view).to receive(:current_user).and_return(user)
project.add_developer(user)
create(
:ci_empty_pipeline,
ref: 'master',
sha: commit.id,
status: 'success',
project: project
)
end
context 'when pipelines are disabled' do
before do
allow(project).to receive(:builds_enabled?).and_return(false)
end
it 'does not display a ci status icon' do
render partial: 'projects/commits/commit', locals: {
project: project,
ref: ref,
commit: commit
}
expect(rendered).not_to have_css('.ci-status-link')
end
end
context 'when pipelines are enabled' do
before do
allow(project).to receive(:builds_enabled?).and_return(true)
end
it 'does display a ci status icon when pipelines are enabled' do
render partial: 'projects/commits/commit', locals: {
project: project,
ref: ref,
commit: commit
}
expect(rendered).to have_css('.ci-status-link')
end
end
end
end end
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment