Add tests for remove group member feature in admin area
Signed-off-by: Dmitriy Zaporozhets <dmitriy.zaporozhets@gmail.com>
This commit is contained in:
parent
f50c0e5af1
commit
2064a14724
4 changed files with 30 additions and 3 deletions
|
@ -19,6 +19,7 @@ class Groups::GroupMembersController < ApplicationController
|
|||
|
||||
def destroy
|
||||
@users_group = @group.group_members.find(params[:id])
|
||||
|
||||
if can?(current_user, :destroy, @users_group) # May fail if last owner.
|
||||
@users_group.destroy
|
||||
respond_to do |format|
|
||||
|
|
|
@ -74,7 +74,7 @@
|
|||
%ul.well-list.group-users-list
|
||||
- @members.each do |member|
|
||||
- user = member.user
|
||||
%li{class: dom_class(user)}
|
||||
%li{class: dom_class(member), id: dom_id(user)}
|
||||
.list-item-name
|
||||
%strong
|
||||
= link_to user.name, admin_user_path(user)
|
||||
|
|
|
@ -20,3 +20,10 @@ Feature: Admin Groups
|
|||
When I visit admin group page
|
||||
When I select user "John Doe" from user list as "Reporter"
|
||||
Then I should see "John Doe" in team list in every project as "Reporter"
|
||||
|
||||
@javascript
|
||||
Scenario: Remove user from group
|
||||
Given we have user "John Doe" in group
|
||||
When I visit admin group page
|
||||
And I remove user "John Doe" from group
|
||||
Then I should not see "John Doe" in team list
|
||||
|
|
|
@ -37,8 +37,7 @@ class Spinach::Features::AdminGroups < Spinach::FeatureSteps
|
|||
end
|
||||
|
||||
When 'I select user "John Doe" from user list as "Reporter"' do
|
||||
user = User.find_by(name: "John Doe")
|
||||
select2(user.id, from: "#user_ids", multiple: true)
|
||||
select2(user_john.id, from: "#user_ids", multiple: true)
|
||||
within "#new_team_member" do
|
||||
select "Reporter", from: "access_level"
|
||||
end
|
||||
|
@ -58,9 +57,29 @@ class Spinach::Features::AdminGroups < Spinach::FeatureSteps
|
|||
end
|
||||
end
|
||||
|
||||
step 'we have user "John Doe" in group' do
|
||||
current_group.add_user(user_john, Gitlab::Access::REPORTER)
|
||||
end
|
||||
|
||||
step 'I remove user "John Doe" from group' do
|
||||
within "#user_#{user_john.id}" do
|
||||
click_link 'Remove user from group'
|
||||
end
|
||||
end
|
||||
|
||||
step 'I should not see "John Doe" in team list' do
|
||||
within ".group-users-list" do
|
||||
page.should_not have_content "John Doe"
|
||||
end
|
||||
end
|
||||
|
||||
protected
|
||||
|
||||
def current_group
|
||||
@group ||= Group.first
|
||||
end
|
||||
|
||||
def user_john
|
||||
@user_john ||= User.find_by(name: "John Doe")
|
||||
end
|
||||
end
|
||||
|
|
Loading…
Reference in a new issue