Allow users to compare branches on a read-only instance

parent d3c6f9c4
......@@ -53,9 +53,8 @@
= _('Merge request')
- if branch.name != @repository.root_ref
= link_to project_compare_index_path(@project, from: @repository.root_ref, to: branch.name),
= link_to project_compare_path(@project, @repository.root_ref, branch.name),
class: "btn btn-default #{'prepend-left-10' unless merge_project}",
method: :post,
title: s_('Branches|Compare') do
= s_('Branches|Compare')
......
......@@ -229,6 +229,38 @@ describe 'Branches' do
end
end
describe 'comparing branches' do
before do
sign_in(user)
project.add_developer(user)
end
shared_examples 'compares branches' do
it 'compares branches' do
visit project_branches_path(project)
page.within first('.all-branches li') do
click_link 'Compare'
end
expect(page).to have_content 'Commits'
expect(page).to have_link 'Create merge request'
end
end
context 'on a read-only instance' do
before do
allow(Gitlab::Database).to receive(:read_only?).and_return(true)
end
it_behaves_like 'compares branches'
end
context 'on a read-write instance' do
it_behaves_like 'compares branches'
end
end
def sorted_branches(repository, count:, sort_by:, state: nil)
branches = repository.branches_sorted_by(sort_by)
branches = branches.select { |b| state == 'active' ? b.active? : b.stale? } if state
......
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