diff options
author | GitLab Bot <gitlab-bot@gitlab.com> | 2021-01-22 15:08:52 +0300 |
---|---|---|
committer | GitLab Bot <gitlab-bot@gitlab.com> | 2021-01-22 15:08:52 +0300 |
commit | ab08967ca2412c9be06eacbfd2e66157fac5433e (patch) | |
tree | 2ea64a89df442f7e4fdd0d8031f289ec6b8747ff /spec/helpers | |
parent | 4dff02cf71591bd7ab47e44f3e1f2206f61c06eb (diff) |
Add latest changes from gitlab-org/gitlab@master
Diffstat (limited to 'spec/helpers')
-rw-r--r-- | spec/helpers/groups/group_members_helper_spec.rb | 2 | ||||
-rw-r--r-- | spec/helpers/projects/project_members_helper_spec.rb | 56 |
2 files changed, 57 insertions, 1 deletions
diff --git a/spec/helpers/groups/group_members_helper_spec.rb b/spec/helpers/groups/group_members_helper_spec.rb index e83585e5efb..99efc7963e6 100644 --- a/spec/helpers/groups/group_members_helper_spec.rb +++ b/spec/helpers/groups/group_members_helper_spec.rb @@ -29,7 +29,7 @@ RSpec.describe Groups::GroupMembersHelper do it 'matches json schema' do json = helper.group_group_links_data_json(shared_group.shared_with_group_links) - expect(json).to match_schema('group_group_links') + expect(json).to match_schema('group_link/group_group_links') end end diff --git a/spec/helpers/projects/project_members_helper_spec.rb b/spec/helpers/projects/project_members_helper_spec.rb index cc290367e34..5e0b4df7f7f 100644 --- a/spec/helpers/projects/project_members_helper_spec.rb +++ b/spec/helpers/projects/project_members_helper_spec.rb @@ -3,6 +3,8 @@ require 'spec_helper' RSpec.describe Projects::ProjectMembersHelper do + include MembersPresentation + let_it_be(:current_user) { create(:user) } let_it_be(:project) { create(:project) } @@ -142,4 +144,58 @@ RSpec.describe Projects::ProjectMembersHelper do it { is_expected.to be(false) } end end + + describe 'project members' do + let_it_be(:project_members) { create_list(:project_member, 1, project: project) } + + describe '#project_members_data_json' do + it 'matches json schema' do + expect(helper.project_members_data_json(project, present_members(project_members))).to match_schema('members') + end + end + + describe '#project_members_list_data_attributes' do + let(:allow_admin_project) { true } + + before do + allow(helper).to receive(:project_project_member_path).with(project, ':id').and_return('/foo-bar/-/project_members/:id') + end + + it 'returns expected hash' do + expect(helper.project_members_list_data_attributes(project, present_members(project_members))).to include({ + members: helper.project_members_data_json(project, present_members(project_members)), + member_path: '/foo-bar/-/project_members/:id', + source_id: project.id, + can_manage_members: true + }) + end + end + end + + describe 'project group links' do + let_it_be(:project_group_links) { create_list(:project_group_link, 1, project: project) } + let(:allow_admin_project) { true } + + describe '#project_group_links_data_json' do + it 'matches json schema' do + expect(helper.project_group_links_data_json(project_group_links)).to match_schema('group_link/project_group_links') + end + end + + describe '#project_group_links_list_data_attributes' do + before do + allow(helper).to receive(:project_group_link_path).with(project, ':id').and_return('/foo-bar/-/group_links/:id') + allow(helper).to receive(:can?).with(current_user, :admin_project_member, project).and_return(true) + end + + it 'returns expected hash' do + expect(helper.project_group_links_list_data_attributes(project, project_group_links)).to include({ + members: helper.project_group_links_data_json(project_group_links), + member_path: '/foo-bar/-/group_links/:id', + source_id: project.id, + can_manage_members: true + }) + end + end + end end |