summaryrefslogtreecommitdiff
path: root/spec/helpers/members_helper_spec.rb
diff options
context:
space:
mode:
Diffstat (limited to 'spec/helpers/members_helper_spec.rb')
-rw-r--r--spec/helpers/members_helper_spec.rb33
1 files changed, 33 insertions, 0 deletions
diff --git a/spec/helpers/members_helper_spec.rb b/spec/helpers/members_helper_spec.rb
index e94eb63fc2c..4a3a623ce77 100644
--- a/spec/helpers/members_helper_spec.rb
+++ b/spec/helpers/members_helper_spec.rb
@@ -74,4 +74,37 @@ RSpec.describe MembersHelper do
expect(localized_tasks_to_be_done_choices).to include(*MemberTask::TASKS.keys)
end
end
+
+ describe '#member_request_access_link' do
+ let(:project) { create(:project) }
+ let(:group) { create(:group) }
+ let(:project_member) { create(:project_member, :reporter, project: project) }
+ let(:group_member) { create(:group_member, :reporter, group: group) }
+
+ it 'returns request link for project members' do
+ user = project_member.user
+ source = project_member.source
+ link = member_request_access_link(project_member)
+
+ user_link = link_to user.name, user, class: :highlight
+ access_level = content_tag :span, project_member.human_access, class: :highlight
+ source_link = link_to source.human_name, polymorphic_url([project_member.source, :members]), class: :highlight
+ source_type = source.model_name.singular
+
+ expect(link).to eq "#{user_link} requested #{access_level} access to the #{source_link} #{source_type}."
+ end
+
+ it 'returns the request link for group members' do
+ user = group_member.user
+ source = group_member.source
+ link = member_request_access_link(group_member)
+
+ user_link = link_to user.name, user, class: :highlight
+ access_level = content_tag :span, group_member.human_access, class: :highlight
+ source_link = link_to source.human_name, polymorphic_url([group_member.source, :members]), class: :highlight
+ source_type = source.model_name.singular
+
+ expect(link).to eq "#{user_link} requested #{access_level} access to the #{source_link} #{source_type}."
+ end
+ end
end