summaryrefslogtreecommitdiff
path: root/spec/factories/notes.rb
diff options
context:
space:
mode:
Diffstat (limited to 'spec/factories/notes.rb')
-rw-r--r--spec/factories/notes.rb33
1 files changed, 30 insertions, 3 deletions
diff --git a/spec/factories/notes.rb b/spec/factories/notes.rb
index fe19a404e16..046974dcd6e 100644
--- a/spec/factories/notes.rb
+++ b/spec/factories/notes.rb
@@ -5,7 +5,7 @@ include ActionDispatch::TestProcess
FactoryGirl.define do
factory :note do
project factory: :empty_project
- note "Note"
+ note { generate(:title) }
author
on_issue
@@ -16,10 +16,23 @@ FactoryGirl.define do
factory :note_on_personal_snippet, traits: [:on_personal_snippet]
factory :system_note, traits: [:system]
- factory :legacy_diff_note_on_commit, traits: [:on_commit, :legacy_diff_note], class: LegacyDiffNote do
+ factory :discussion_note_on_merge_request, traits: [:on_merge_request], class: DiscussionNote do
association :project, :repository
+
+ trait :resolved do
+ resolved_at { Time.now }
+ resolved_by { create(:user) }
+ end
end
+ factory :discussion_note_on_issue, traits: [:on_issue], class: DiscussionNote
+
+ factory :discussion_note_on_commit, traits: [:on_commit], class: DiscussionNote
+
+ factory :discussion_note_on_personal_snippet, traits: [:on_personal_snippet], class: DiscussionNote
+
+ factory :legacy_diff_note_on_commit, traits: [:on_commit, :legacy_diff_note], class: LegacyDiffNote
+
factory :legacy_diff_note_on_merge_request, traits: [:on_merge_request, :legacy_diff_note], class: LegacyDiffNote do
association :project, :repository
end
@@ -29,6 +42,7 @@ FactoryGirl.define do
transient do
line_number 14
+ diff_refs { noteable.try(:diff_refs) }
end
position do
@@ -37,7 +51,7 @@ FactoryGirl.define do
new_path: "files/ruby/popen.rb",
old_line: nil,
new_line: line_number,
- diff_refs: noteable.diff_refs
+ diff_refs: diff_refs
)
end
@@ -108,5 +122,18 @@ FactoryGirl.define do
trait :with_svg_attachment do
attachment { fixture_file_upload(Rails.root + "spec/fixtures/unsanitized.svg", "image/svg+xml") }
end
+
+ transient do
+ in_reply_to nil
+ end
+
+ before(:create) do |note, evaluator|
+ discussion = evaluator.in_reply_to
+ next unless discussion
+ discussion = discussion.to_discussion if discussion.is_a?(Note)
+ next unless discussion
+
+ note.assign_attributes(discussion.reply_attributes.merge(project: discussion.project))
+ end
end
end