Commit 5c22b119 authored by rossfuhrman's avatar rossfuhrman Committed by Bob Van Landuyt

Handle empty project within Security Configuration

The Security Configuration section will now load, even if the given
project has no repository.
parent 8d039edc
......@@ -98,6 +98,8 @@ module Projects
end
def gitlab_ci_history_path
return '' if project.empty_repo?
gitlab_ci = Gitlab::FileDetector::PATTERNS[:gitlab_ci]
Gitlab::Routing.url_helpers.project_blame_path(project, File.join(project.default_branch, gitlab_ci))
end
......
---
title: Handle empty project within Security Configuration
merge_request: 47226
author:
type: fixed
......@@ -6,6 +6,7 @@ RSpec.describe Projects::Security::ConfigurationPresenter do
include Gitlab::Routing.url_helpers
let(:project) { create(:project, :repository) }
let(:project_with_no_repo) { create(:project) }
let(:current_user) { create(:user) }
it 'presents the given project' do
......@@ -41,6 +42,14 @@ RSpec.describe Projects::Security::ConfigurationPresenter do
expect(subject[:gitlab_ci_history_path]).to eq(project_blame_path(project, 'master/.gitlab-ci.yml'))
end
context 'when the project is empty' do
subject { described_class.new(project_with_no_repo, auto_fix_permission: true, current_user: current_user).to_html_data_attribute }
it 'includes a blank gitlab_ci history path' do
expect(subject[:gitlab_ci_history_path]).to eq('')
end
end
context "when the latest default branch pipeline's source is auto devops" do
before do
pipeline = create(
......
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