aeed6b5a34
Hide the push to master instructions for users that are not allowed to do that. Also hide buttons that would direct them to commit directly in master
43 lines
960 B
Ruby
43 lines
960 B
Ruby
require 'spec_helper'
|
|
|
|
describe 'User views an empty project' do
|
|
let(:project) { create(:project, :empty_repo) }
|
|
let(:user) { create(:user) }
|
|
|
|
shared_examples 'allowing push to default branch' do
|
|
before do
|
|
sign_in(user)
|
|
visit project_path(project)
|
|
end
|
|
|
|
it 'shows push-to-master instructions' do
|
|
expect(page).to have_content('git push -u origin master')
|
|
end
|
|
end
|
|
|
|
describe 'as a master' do
|
|
before do
|
|
project.add_master(user)
|
|
end
|
|
|
|
it_behaves_like 'allowing push to default branch'
|
|
end
|
|
|
|
describe 'as an admin' do
|
|
let(:user) { create(:user, :admin) }
|
|
|
|
it_behaves_like 'allowing push to default branch'
|
|
end
|
|
|
|
describe 'as a developer' do
|
|
before do
|
|
project.add_developer(user)
|
|
sign_in(user)
|
|
visit project_path(project)
|
|
end
|
|
|
|
it 'does not show push-to-master instructions' do
|
|
expect(page).not_to have_content('git push -u origin master')
|
|
end
|
|
end
|
|
end
|