diff options
Diffstat (limited to 'spec/helpers/groups/group_members_helper_spec.rb')
-rw-r--r-- | spec/helpers/groups/group_members_helper_spec.rb | 50 |
1 files changed, 18 insertions, 32 deletions
diff --git a/spec/helpers/groups/group_members_helper_spec.rb b/spec/helpers/groups/group_members_helper_spec.rb index ab11bc1f5fd..d308df3a017 100644 --- a/spec/helpers/groups/group_members_helper_spec.rb +++ b/spec/helpers/groups/group_members_helper_spec.rb @@ -5,15 +5,8 @@ require "spec_helper" RSpec.describe Groups::GroupMembersHelper do include MembersPresentation - let_it_be(:current_user) { create(:user) } let_it_be(:group) { create(:group) } - before do - allow(helper).to receive(:can?).with(current_user, :export_group_memberships, group).and_return(false) - allow(helper).to receive(:can?).with(current_user, :owner_access, group).and_return(true) - allow(helper).to receive(:current_user).and_return(current_user) - end - describe '.group_member_select_options' do before do helper.instance_variable_set(:@group, group) @@ -27,12 +20,24 @@ RSpec.describe Groups::GroupMembersHelper do describe '#group_members_app_data' do include_context 'group_group_link' + let_it_be(:current_user) { create(:user) } + let(:members) { create_list(:group_member, 2, group: shared_group, created_by: current_user) } let(:invited) { create_list(:group_member, 2, :invited, group: shared_group, created_by: current_user) } let!(:access_requests) { create_list(:group_member, 2, :access_request, group: shared_group, created_by: current_user) } let(:members_collection) { members } + before do + allow(helper).to receive(:can?).with(current_user, :export_group_memberships, group).and_return(false) + allow(helper).to receive(:can?).with(current_user, :owner_access, group).and_return(true) + allow(helper).to receive(:current_user).and_return(current_user) + allow(helper).to receive(:can?).with(current_user, :export_group_memberships, shared_group).and_return(true) + allow(helper).to receive(:group_group_member_path).with(shared_group, ':id').and_return('/groups/foo-bar/-/group_members/:id') + allow(helper).to receive(:group_group_link_path).with(shared_group, ':id').and_return('/groups/foo-bar/-/group_links/:id') + allow(helper).to receive(:can?).with(current_user, :admin_group_member, shared_group).and_return(true) + end + subject do helper.group_members_app_data( shared_group, @@ -54,13 +59,6 @@ RSpec.describe Groups::GroupMembersHelper do end end - before do - allow(helper).to receive(:can?).with(current_user, :export_group_memberships, shared_group).and_return(true) - allow(helper).to receive(:group_group_member_path).with(shared_group, ':id').and_return('/groups/foo-bar/-/group_members/:id') - allow(helper).to receive(:group_group_link_path).with(shared_group, ':id').and_return('/groups/foo-bar/-/group_links/:id') - allow(helper).to receive(:can?).with(current_user, :admin_group_member, shared_group).and_return(true) - end - it 'returns expected json' do expected = { source_id: shared_group.id, @@ -137,24 +135,6 @@ RSpec.describe Groups::GroupMembersHelper do expect(subject[:group][:members].map { |link| link[:id] }).to match_array(result) end end - - context 'when group_member_inherited_group disabled' do - before do - stub_feature_flags(group_member_inherited_group: false) - end - - where(:include_relations, :result) do - [:inherited, :direct] | lazy { [sub_group_group_link.id] } - [:inherited] | lazy { [sub_group_group_link.id] } - [:direct] | lazy { [sub_group_group_link.id] } - end - - with_them do - it 'always returns direct member links' do - expect(subject[:group][:members].map { |link| link[:id] }).to match_array(result) - end - end - end end end @@ -188,4 +168,10 @@ RSpec.describe Groups::GroupMembersHelper do end end end + + describe '#group_member_header_subtext' do + it 'contains expected text with group name' do + expect(helper.group_member_header_subtext(group)).to match("You can invite a new member to .*#{group.name}") + end + end end |