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
|
@ -19,6 +19,7 @@ class Groups::GroupMembersController < ApplicationController
|
||||||
|
|
||||||
def destroy
|
def destroy
|
||||||
@users_group = @group.group_members.find(params[:id])
|
@users_group = @group.group_members.find(params[:id])
|
||||||
|
|
||||||
if can?(current_user, :destroy, @users_group) # May fail if last owner.
|
if can?(current_user, :destroy, @users_group) # May fail if last owner.
|
||||||
@users_group.destroy
|
@users_group.destroy
|
||||||
respond_to do |format|
|
respond_to do |format|
|
||||||
|
|
|
@ -74,7 +74,7 @@
|
||||||
%ul.well-list.group-users-list
|
%ul.well-list.group-users-list
|
||||||
- @members.each do |member|
|
- @members.each do |member|
|
||||||
- user = member.user
|
- user = member.user
|
||||||
%li{class: dom_class(user)}
|
%li{class: dom_class(member), id: dom_id(user)}
|
||||||
.list-item-name
|
.list-item-name
|
||||||
%strong
|
%strong
|
||||||
= link_to user.name, admin_user_path(user)
|
= link_to user.name, admin_user_path(user)
|
||||||
|
|
|
@ -20,3 +20,10 @@ Feature: Admin Groups
|
||||||
When I visit admin group page
|
When I visit admin group page
|
||||||
When I select user "John Doe" from user list as "Reporter"
|
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"
|
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
|
end
|
||||||
|
|
||||||
When 'I select user "John Doe" from user list as "Reporter"' do
|
When 'I select user "John Doe" from user list as "Reporter"' do
|
||||||
user = User.find_by(name: "John Doe")
|
select2(user_john.id, from: "#user_ids", multiple: true)
|
||||||
select2(user.id, from: "#user_ids", multiple: true)
|
|
||||||
within "#new_team_member" do
|
within "#new_team_member" do
|
||||||
select "Reporter", from: "access_level"
|
select "Reporter", from: "access_level"
|
||||||
end
|
end
|
||||||
|
@ -58,9 +57,29 @@ class Spinach::Features::AdminGroups < Spinach::FeatureSteps
|
||||||
end
|
end
|
||||||
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
|
protected
|
||||||
|
|
||||||
def current_group
|
def current_group
|
||||||
@group ||= Group.first
|
@group ||= Group.first
|
||||||
end
|
end
|
||||||
|
|
||||||
|
def user_john
|
||||||
|
@user_john ||= User.find_by(name: "John Doe")
|
||||||
|
end
|
||||||
end
|
end
|
||||||
|
|
Loading…
Reference in New Issue