diff options
Diffstat (limited to 'spec/factories/merge_requests.rb')
-rw-r--r-- | spec/factories/merge_requests.rb | 60 |
1 files changed, 59 insertions, 1 deletions
diff --git a/spec/factories/merge_requests.rb b/spec/factories/merge_requests.rb index 2392bfc4a53..0b6a43b13a9 100644 --- a/spec/factories/merge_requests.rb +++ b/spec/factories/merge_requests.rb @@ -46,10 +46,26 @@ FactoryBot.define do target_branch "improve/awesome" end + trait :merged_last_month do + merged + + after(:build) do |merge_request| + merge_request.build_metrics.merged_at = 1.month.ago + end + end + trait :closed do state :closed end + trait :closed_last_month do + closed + + after(:build) do |merge_request| + merge_request.build_metrics.latest_closed_at = 1.month.ago + end + end + trait :opened do state :opened end @@ -79,7 +95,8 @@ FactoryBot.define do end trait :merge_when_pipeline_succeeds do - merge_when_pipeline_succeeds true + auto_merge_enabled true + auto_merge_strategy AutoMergeService::STRATEGY_MERGE_WHEN_PIPELINE_SUCCEEDS merge_user { author } end @@ -101,6 +118,47 @@ FactoryBot.define do end end + trait :with_legacy_detached_merge_request_pipeline do + after(:create) do |merge_request| + merge_request.pipelines_for_merge_request << create(:ci_pipeline, + source: :merge_request_event, + merge_request: merge_request, + project: merge_request.source_project, + ref: merge_request.source_branch, + sha: merge_request.source_branch_sha) + end + end + + trait :with_detached_merge_request_pipeline do + after(:create) do |merge_request| + merge_request.pipelines_for_merge_request << create(:ci_pipeline, + source: :merge_request_event, + merge_request: merge_request, + project: merge_request.source_project, + ref: merge_request.ref_path, + sha: merge_request.source_branch_sha) + end + end + + trait :with_merge_request_pipeline do + transient do + merge_sha { 'test-merge-sha' } + source_sha { source_branch_sha } + target_sha { target_branch_sha } + end + + after(:create) do |merge_request, evaluator| + merge_request.pipelines_for_merge_request << create(:ci_pipeline, + source: :merge_request_event, + merge_request: merge_request, + project: merge_request.source_project, + ref: merge_request.merge_ref_path, + sha: evaluator.merge_sha, + source_sha: evaluator.source_sha, + target_sha: evaluator.target_sha) + end + end + trait :deployed_review_app do target_branch 'pages-deploy-target' |