diff options
Diffstat (limited to 'spec/helpers/projects')
-rw-r--r-- | spec/helpers/projects/alert_management_helper_spec.rb | 7 | ||||
-rw-r--r-- | spec/helpers/projects/project_members_helper_spec.rb | 56 |
2 files changed, 60 insertions, 3 deletions
diff --git a/spec/helpers/projects/alert_management_helper_spec.rb b/spec/helpers/projects/alert_management_helper_spec.rb index fd35c1ecab8..0df194e460a 100644 --- a/spec/helpers/projects/alert_management_helper_spec.rb +++ b/spec/helpers/projects/alert_management_helper_spec.rb @@ -28,8 +28,8 @@ RSpec.describe Projects::AlertManagementHelper do expect(helper.alert_management_data(current_user, project)).to match( 'project-path' => project_path, 'enable-alert-management-path' => setting_path, - 'alerts-help-url' => 'http://test.host/help/operations/incident_management/index.md', - 'populating-alerts-help-url' => 'http://test.host/help/operations/incident_management/index.md#enable-alert-management', + 'alerts-help-url' => 'http://test.host/help/operations/incident_management/alerts.md', + 'populating-alerts-help-url' => 'http://test.host/help/operations/incident_management/integrations.md#configuration', 'empty-alert-svg-path' => match_asset_path('/assets/illustrations/alert-management-empty-state.svg'), 'user-can-enable-alert-management' => 'true', 'alert-management-enabled' => 'false', @@ -113,7 +113,8 @@ RSpec.describe Projects::AlertManagementHelper do 'alert-id' => alert_id, 'project-path' => project_path, 'project-id' => project_id, - 'project-issues-path' => issues_path + 'project-issues-path' => issues_path, + 'page' => 'OPERATIONS' ) 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 |