2017-12-14 00:13:44 +00:00
|
|
|
FactoryBot.define do
|
2014-07-31 15:07:24 +00:00
|
|
|
factory :merge_request do
|
2017-03-23 16:37:14 +00:00
|
|
|
title { generate(:title) }
|
2017-01-25 19:52:12 +00:00
|
|
|
association :source_project, :repository, factory: :project
|
2014-07-31 15:07:24 +00:00
|
|
|
target_project { source_project }
|
2017-08-04 17:14:04 +00:00
|
|
|
author { source_project.creator }
|
2014-07-31 15:07:24 +00:00
|
|
|
|
2015-06-22 18:43:51 +00:00
|
|
|
# $ git log --pretty=oneline feature..master
|
2014-07-31 15:07:24 +00:00
|
|
|
# 5937ac0a7beb003549fc5fd26fc247adbce4a52e Add submodule from gitlab.com
|
|
|
|
# 570e7b2abdd848b95f2f578043fc23bd6f6fd24d Change some files
|
|
|
|
# 6f6d7e7ed97bb5f0054f2b1df789b39ca89b6ff9 More submodules
|
|
|
|
# d14d6c0abdd253381df51a723d58691b2ee1ab08 Remove ds_store files
|
|
|
|
# c1acaa58bbcbc3eafe538cb8274ba387047b69f8 Ignore DS files
|
2014-08-06 06:52:56 +00:00
|
|
|
#
|
|
|
|
# See also RepoHelpers.sample_compare
|
|
|
|
#
|
2014-07-31 15:07:24 +00:00
|
|
|
source_branch "master"
|
|
|
|
target_branch "feature"
|
|
|
|
|
2015-03-05 18:38:23 +00:00
|
|
|
merge_status "can_be_merged"
|
2014-07-31 15:07:24 +00:00
|
|
|
|
|
|
|
trait :with_diffs do
|
|
|
|
end
|
|
|
|
|
2017-10-07 04:25:17 +00:00
|
|
|
trait :with_image_diffs do
|
|
|
|
source_branch "add_images_and_changes"
|
|
|
|
target_branch "master"
|
|
|
|
end
|
|
|
|
|
2016-03-09 07:19:54 +00:00
|
|
|
trait :without_diffs do
|
|
|
|
source_branch "improve/awesome"
|
|
|
|
target_branch "master"
|
|
|
|
end
|
|
|
|
|
2014-08-06 06:52:56 +00:00
|
|
|
trait :conflict do
|
|
|
|
source_branch "feature_conflict"
|
|
|
|
target_branch "feature"
|
|
|
|
end
|
|
|
|
|
2016-03-01 11:32:20 +00:00
|
|
|
trait :merged do
|
|
|
|
state :merged
|
|
|
|
end
|
|
|
|
|
2018-05-08 21:44:32 +00:00
|
|
|
trait :merged_target do
|
|
|
|
source_branch "merged-target"
|
|
|
|
target_branch "improve/awesome"
|
|
|
|
end
|
|
|
|
|
2014-07-31 15:07:24 +00:00
|
|
|
trait :closed do
|
|
|
|
state :closed
|
|
|
|
end
|
|
|
|
|
2017-04-17 03:51:16 +00:00
|
|
|
trait :opened do
|
|
|
|
state :opened
|
|
|
|
end
|
|
|
|
|
2016-08-24 17:11:48 +00:00
|
|
|
trait :locked do
|
|
|
|
state :locked
|
|
|
|
end
|
|
|
|
|
2014-07-31 15:07:24 +00:00
|
|
|
trait :simple do
|
|
|
|
source_branch "feature"
|
|
|
|
target_branch "master"
|
|
|
|
end
|
|
|
|
|
2016-02-04 18:23:58 +00:00
|
|
|
trait :rebased do
|
|
|
|
source_branch "markdown"
|
|
|
|
target_branch "improve/awesome"
|
|
|
|
end
|
|
|
|
|
|
|
|
trait :diverged do
|
|
|
|
source_branch "feature"
|
|
|
|
target_branch "master"
|
|
|
|
end
|
|
|
|
|
2017-02-17 13:56:13 +00:00
|
|
|
trait :merge_when_pipeline_succeeds do
|
|
|
|
merge_when_pipeline_succeeds true
|
2015-12-03 09:27:34 +00:00
|
|
|
merge_user author
|
|
|
|
end
|
|
|
|
|
2017-10-11 20:06:15 +00:00
|
|
|
trait :remove_source_branch do
|
|
|
|
merge_params do
|
|
|
|
{ 'force_remove_source_branch' => '1' }
|
|
|
|
end
|
|
|
|
end
|
|
|
|
|
2017-08-09 11:30:07 +00:00
|
|
|
after(:build) do |merge_request|
|
|
|
|
target_project = merge_request.target_project
|
2017-08-09 13:41:45 +00:00
|
|
|
source_project = merge_request.source_project
|
2017-08-09 11:30:07 +00:00
|
|
|
|
2017-11-06 14:03:11 +00:00
|
|
|
# Fake `fetch_ref!` if we don't have repository
|
2017-08-09 11:30:07 +00:00
|
|
|
# We have too many existing tests replying on this behaviour
|
2017-08-09 13:41:45 +00:00
|
|
|
unless [target_project, source_project].all?(&:repository_exists?)
|
2017-11-06 14:03:11 +00:00
|
|
|
allow(merge_request).to receive(:fetch_ref!)
|
2017-08-09 11:30:07 +00:00
|
|
|
end
|
|
|
|
end
|
|
|
|
|
2016-03-01 11:32:20 +00:00
|
|
|
factory :merged_merge_request, traits: [:merged]
|
2014-07-31 15:07:24 +00:00
|
|
|
factory :closed_merge_request, traits: [:closed]
|
2017-07-19 14:03:50 +00:00
|
|
|
factory :reopened_merge_request, traits: [:opened]
|
2014-07-31 15:07:24 +00:00
|
|
|
factory :merge_request_with_diffs, traits: [:with_diffs]
|
2016-09-16 11:02:42 +00:00
|
|
|
factory :merge_request_with_diff_notes do
|
|
|
|
after(:create) do |mr|
|
|
|
|
create(:diff_note_on_merge_request, noteable: mr, project: mr.source_project)
|
|
|
|
end
|
|
|
|
end
|
2016-09-26 20:10:54 +00:00
|
|
|
|
|
|
|
factory :labeled_merge_request do
|
|
|
|
transient do
|
|
|
|
labels []
|
|
|
|
end
|
|
|
|
|
|
|
|
after(:create) do |merge_request, evaluator|
|
|
|
|
merge_request.update_attributes(labels: evaluator.labels)
|
|
|
|
end
|
|
|
|
end
|
2014-07-31 15:07:24 +00:00
|
|
|
end
|
|
|
|
end
|