Skip to content
Snippets Groups Projects

Add `admin_runners` custom role permission

Merged mo khan requested to merge mokhax/442851/admin_runners into master
1 file
+ 13
11
Compare changes
  • Side-by-side
  • Inline
@@ -102,8 +102,10 @@
end
describe 'Custom Roles' do
let_it_be(:user) { create(:user) }
let_it_be(:project) { create(:project, :in_group) }
using RSpec::Parameterized::TableSyntax
let_it_be_with_reload(:user) { create(:user) }
let_it_be_with_reload(:project) { create(:project, :in_group) }
let(:context) { Sidebars::Projects::Context.new(current_user: user, container: project) }
let(:menu) { described_class.new(context) }
@@ -114,18 +116,18 @@
stub_licensed_features(custom_roles: true)
end
describe 'when the user is not an admin but has `admin_cicd_variables` custom ability' do
let_it_be(:role) { create(:member_role, :guest, :admin_cicd_variables, namespace: project.group) }
let_it_be(:membership) { create(:project_member, :guest, member_role: role, user: user, project: project) }
it { is_expected.to include(have_attributes(title: 'CI/CD')) }
where(:ability, :menu_item) do
:admin_cicd_variables | 'CI/CD'
:admin_runners | 'CI/CD'
end
describe 'when the user has the `admin_runners` custom ability' do
let_it_be(:role) { create(:member_role, :guest, :admin_runners, namespace: project.group) }
let_it_be(:membership) { create(:project_member, :guest, member_role: role, user: user, project: project) }
with_them do
describe "when the user has the `#{params[:ability]}` custom ability" do
let!(:role) { create(:member_role, :guest, ability, namespace: project.group) }
let!(:membership) { create(:project_member, :guest, member_role: role, user: user, project: project) }
it { is_expected.to include(have_attributes(title: 'CI/CD')) }
it { is_expected.to include(have_attributes(title: menu_item)) }
end
end
end
end
Loading