diff options
author | GitLab Bot <gitlab-bot@gitlab.com> | 2023-06-03 03:07:18 +0300 |
---|---|---|
committer | GitLab Bot <gitlab-bot@gitlab.com> | 2023-06-03 03:07:18 +0300 |
commit | 77628d9c8306401a73ea3737d97ed479f3f08c0b (patch) | |
tree | 4bf136593a616e5003aec8d613beeda52e15bfb9 /spec/support | |
parent | df52f8c8af971b336f520e291da02e1ba6a1a9dd (diff) |
Add latest changes from gitlab-org/gitlab@master
Diffstat (limited to 'spec/support')
-rw-r--r-- | spec/support/shared_contexts/user_contribution_events_shared_context.rb | 135 |
1 files changed, 135 insertions, 0 deletions
diff --git a/spec/support/shared_contexts/user_contribution_events_shared_context.rb b/spec/support/shared_contexts/user_contribution_events_shared_context.rb new file mode 100644 index 00000000000..681c2f0d811 --- /dev/null +++ b/spec/support/shared_contexts/user_contribution_events_shared_context.rb @@ -0,0 +1,135 @@ +# frozen_string_literal: true + +# See https://docs.gitlab.com/ee/user/profile/contributions_calendar.html#user-contribution-events +# rubocop:disable RSpec/MultipleMemoizedHelpers +RSpec.shared_context 'with user contribution events' do + # targets + + # issue + let_it_be(:issue) { create(:issue, project: project) } + + # merge requeest + let_it_be(:merge_request) { create(:merge_request, source_project: project, target_project: project) } + + # milestone + let_it_be(:milestone) { create(:milestone, project: project) } + + # note + let_it_be(:note_on_issue) { create(:note_on_issue, noteable: issue, project: project) } + + # design + let_it_be(:design) { create(:design, project: project, issue: issue, author: user) } + + # work item + let_it_be(:incident) { create(:work_item, :incident, author: user, project: project) } + let_it_be(:test_case) { create(:work_item, :test_case, author: user, project: project) } + let_it_be(:requirement) { create(:work_item, :requirement, author: user, project: project) } + let_it_be(:task) { create(:work_item, :task, author: user, project: project) } + + # events + + # approved + let_it_be(:approved_merge_request_event) do + create(:event, :approved, author: user, project: project, target: merge_request) + end + + # closed + let_it_be(:closed_issue_event) { create(:event, :closed, author: user, project: project, target: issue) } + let_it_be(:closed_milestone_event) { create(:event, :closed, author: user, project: project, target: milestone) } + let_it_be(:closed_incident_event) { create(:event, :closed, author: user, project: project, target: incident) } + let_it_be(:closed_test_case_event) { create(:event, :closed, author: user, project: project, target: test_case) } + let_it_be(:closed_merge_request_event) do + create(:event, :closed, author: user, project: project, target: merge_request) + end + + # commented + let_it_be(:commented_event) do + create(:event, :commented, author: user, project: project, target: note_on_issue) + end + + # created + let_it_be(:created_issue_event) { create(:event, :created, author: user, project: project, target: issue) } + let_it_be(:created_milestone_event) { create(:event, :created, author: user, project: project, target: milestone) } + let_it_be(:created_design_event) { create(:design_event, project: project, author: user) } + let_it_be(:created_project_event) { create(:event, :created, project: project, author: user) } + let_it_be(:created_wiki_page_event) { create(:wiki_page_event, :created, project: project, author: user) } + let_it_be(:created_incident_event) do + create(:event, :created, :for_work_item, author: user, project: project, target: incident) + end + + let_it_be(:created_test_case_event) do + create(:event, :created, :for_work_item, author: user, project: project, target: test_case) + end + + let_it_be(:created_requirement_event) do + create(:event, :created, :for_work_item, author: user, project: project, target: requirement) + end + + let_it_be(:created_task_event) do + create(:event, :created, :for_work_item, author: user, project: project, target: task) + end + + let_it_be(:created_merge_request_event) do + create(:event, :created, author: user, project: project, target: merge_request) + end + + # destroyed + let_it_be(:destroyed_design_event) { create(:event, :destroyed, project: project, author: user, target: design) } + let_it_be(:destroyed_wiki_page_event) { create(:wiki_page_event, :destroyed, project: project, author: user) } + let_it_be(:destroyed_milestone_event) do + create(:event, :destroyed, author: user, project: project, target: milestone) + end + + # expired + let_it_be(:expired_event) { create(:event, :expired, project: project, author: user) } + + # joined + let_it_be(:joined_event) { create(:event, :joined, project: project, author: user) } + + # left + let_it_be(:left_event) { create(:event, :left, project: project, author: user) } + + # merged + let_it_be(:merged_merge_request_event) do + create(:event, :merged, author: user, project: project, target: merge_request) + end + + # pushed + let_it_be(:push_event_payload_pushed) do + event = create(:push_event, project: project, author: user) + create(:push_event_payload, event: event) + event + end + + let_it_be(:push_event_payload_created) do + event = create(:push_event, project: project, author: user) + create(:push_event_payload, event: event, action: :created) + event + end + + let_it_be(:push_event_payload_removed) do + event = create(:push_event, project: project, author: user) + create(:push_event_payload, event: event, action: :removed) + event + end + + let_it_be(:bulk_push_event) do + event = create(:push_event, project: project, author: user) + create(:push_event_payload, event: event, commit_count: 5, commit_from: '83c6aa31482b9076531ed3a880e75627fd6b335c') + event + end + + # reopened + let_it_be(:reopened_issue_event) { create(:event, :reopened, author: user, project: project, target: issue) } + let_it_be(:reopened_milestone_event) { create(:event, :reopened, author: user, project: project, target: milestone) } + let_it_be(:reopened_incident_event) { create(:event, :reopened, author: user, project: project, target: incident) } + let_it_be(:reopened_test_case_event) { create(:event, :reopened, author: user, project: project, target: test_case) } + let_it_be(:reopened_merge_request_event) do + create(:event, :reopened, author: user, project: project, target: merge_request) + end + + # updated + let_it_be(:updated_wiki_page_event) { create(:wiki_page_event, :updated, project: project, author: user) } + let_it_be(:updated_design_event) { create(:event, :updated, project: project, author: user, target: design) } +end +# rubocop:enable RSpec/MultipleMemoizedHelpers |