summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorGrzegorz Bizon <grzesiek.bizon@gmail.com>2016-04-26 13:50:48 +0200
committerRobert Speicher <rspeicher@gmail.com>2016-05-29 15:03:00 -0400
commit21d0cddd456c03e776a8b30e4695ede94c400792 (patch)
treed5e72a8cf3be922666bbe0fe82c3aec6a8f50866
parent0e613db76d8d6e8521a3b4d546f552c8d184ffa1 (diff)
downloadgitlab-ce-21d0cddd456c03e776a8b30e4695ede94c400792.tar.gz
Do not override foreign attributes in note factory
-rw-r--r--app/models/note.rb2
-rw-r--r--spec/factories/notes.rb9
2 files changed, 5 insertions, 6 deletions
diff --git a/app/models/note.rb b/app/models/note.rb
index f10446ca45f..e3e522a8d0f 100644
--- a/app/models/note.rb
+++ b/app/models/note.rb
@@ -34,7 +34,7 @@ class Note < ActiveRecord::Base
validates :author, presence: true
validate unless: :for_commit? do |note|
- unless note.noteable.try(:project) == project
+ unless note.noteable.try(:project) == note.project
errors.add(:invalid_project, 'Note and noteable project mismatch')
end
end
diff --git a/spec/factories/notes.rb b/spec/factories/notes.rb
index 7e9378ab625..cabab0c2207 100644
--- a/spec/factories/notes.rb
+++ b/spec/factories/notes.rb
@@ -4,10 +4,10 @@ include ActionDispatch::TestProcess
FactoryGirl.define do
factory :note do
+ project
note "Note"
author
- noteable { create(:issue) }
- project { noteable.project }
+ noteable { create(:issue, project: project) }
factory :note_on_issue, aliases: [:votable_note]
factory :note_on_commit, traits: [:on_commit]
@@ -20,7 +20,6 @@ FactoryGirl.define do
factory :upvote_note, traits: [:award, :upvote]
trait :on_commit do
- project
noteable nil
commit_id RepoHelpers.sample_commit.id
noteable_type "Commit"
@@ -31,11 +30,11 @@ FactoryGirl.define do
end
trait :on_merge_request do
- noteable { create(:merge_request) }
+ noteable { create(:merge_request, project: project) }
end
trait :on_project_snippet do
- noteable { create(:snippet) }
+ noteable { create(:snippet, project: project) }
end
trait :system do