diff options
Diffstat (limited to 'spec/controllers/groups/group_members_controller_spec.rb')
-rw-r--r-- | spec/controllers/groups/group_members_controller_spec.rb | 35 |
1 files changed, 34 insertions, 1 deletions
diff --git a/spec/controllers/groups/group_members_controller_spec.rb b/spec/controllers/groups/group_members_controller_spec.rb index 413598ddde0..0c3dd971582 100644 --- a/spec/controllers/groups/group_members_controller_spec.rb +++ b/spec/controllers/groups/group_members_controller_spec.rb @@ -16,6 +16,39 @@ describe Groups::GroupMembersController do expect(response).to have_gitlab_http_status(200) expect(response).to render_template(:index) end + + context 'user with owner access' do + let!(:invited) { create_list(:group_member, 3, :invited, group: group) } + + before do + group.add_owner(user) + sign_in(user) + end + + it 'assigns invited members' do + get :index, params: { group_id: group } + + expect(assigns(:invited_members).map(&:invite_email)).to match_array(invited.map(&:invite_email)) + end + + it 'restricts search to one email' do + get :index, params: { group_id: group, search_invited: invited.first.invite_email } + + expect(assigns(:invited_members).map(&:invite_email)).to match_array(invited.first.invite_email) + end + + it 'paginates invited list' do + stub_const('Groups::GroupMembersController::MEMBER_PER_PAGE_LIMIT', 2) + + get :index, params: { group_id: group, invited_members_page: 1 } + + expect(assigns(:invited_members).count).to eq(2) + + get :index, params: { group_id: group, invited_members_page: 2 } + + expect(assigns(:invited_members).count).to eq(1) + end + end end describe 'POST create' do @@ -139,7 +172,7 @@ describe Groups::GroupMembersController do it '[JS] removes user from members' do delete :destroy, params: { group_id: group, id: member }, xhr: true - expect(response).to be_success + expect(response).to be_successful expect(group.members).not_to include member end end |