Skip to content
代码片段 群组 项目
未验证 提交 2b872054 编辑于 作者: Suraj Tripathi's avatar Suraj Tripathi 提交者: GitLab
浏览文件

Merge branch '515534_fix_gitlab_com_bug' into 'master'

No related branches found
No related tags found
无相关合并请求
......@@ -13,9 +13,11 @@ def block_seat_overages?(source)
def seats_available_for?(source, invites, access_level, member_role_id)
root_namespace = source.root_ancestor
return root_namespace.seats_available_for?(invites, access_level, member_role_id) if gitlab_com_subscription?
parsed_invites = process_invites(source, invites)
if gitlab_com_subscription?
return root_namespace.seats_available_for?(parsed_invites, access_level, member_role_id)
end
seats_available_for_self_managed?(parsed_invites, access_level, member_role_id)
end
......
......@@ -55,7 +55,7 @@
context 'when on GitLab.com', :saas do
it 'delegates to root namespace' do
expect(group).to receive(:seats_available_for?).with(invites, access_level, member_role_id)
expect(group).to receive(:seats_available_for?).with(invites.map(&:to_s), access_level, member_role_id)
seats_available?
end
......
......@@ -579,6 +579,31 @@
execute_service
end
context 'when email is of existing user' do
let(:invites) { project_users.map(&:email) }
it 'does not reject membership update for already billable user on billable role' do
project_member_a = project.add_developer(project_users.first)
project_member_b = project.add_developer(project_users.second)
params[:access_level] = ::Gitlab::Access::MAINTAINER
execute_service
expect(project_member_a.reload.access_level).to eq ::Gitlab::Access::MAINTAINER
expect(project_member_b.reload.access_level).to eq ::Gitlab::Access::MAINTAINER
end
end
end
context 'when we invite a bot user' do
let(:invites) { create(:user, :bot).id }
it 'does not reject bot users' do
params[:access_level] = ::Gitlab::Access::DEVELOPER
expect { execute_service }.to change { project.members.count }.by(1)
end
end
it 'adds guest users even if there are no seats available' do
......
......@@ -203,6 +203,17 @@
expect(result[:status]).to eq(:success)
end
it 'allows bot users updates' do
bot_member = group.add_developer(create(:user, :bot))
params = { access_level: ::Gitlab::Access::MAINTAINER, source: group }
result = described_class.new(user, params).execute(bot_member)
expect(result[:status]).to eq(:success)
expect(bot_member.reload.access_level).to eq(::Gitlab::Access::MAINTAINER)
end
end
context 'with block seat overages enabled for self-managed' do
......
0% 加载中 .
You are about to add 0 people to the discussion. Proceed with caution.
先完成此消息的编辑!
想要评论请 注册