summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorGrzegorz Bizon <grzesiek.bizon@gmail.com>2016-05-04 11:17:16 +0200
committerRobert Speicher <rspeicher@gmail.com>2016-05-29 15:03:00 -0400
commitfc57d36018a23c15da013bebf42d51f7a8e9a955 (patch)
tree8b0b5331eaf4a4925e68562418b7027bfd64eff0
parent99ef3a84b558e7b51bce7cbb11a6e235a6cc310b (diff)
downloadgitlab-ce-fc57d36018a23c15da013bebf42d51f7a8e9a955.tar.gz
Minor changes in note validation specs
-rw-r--r--spec/factories/notes.rb22
-rw-r--r--spec/models/concerns/issuable_spec.rb6
-rw-r--r--spec/models/merge_request_spec.rb2
-rw-r--r--spec/models/note_spec.rb11
4 files changed, 22 insertions, 19 deletions
diff --git a/spec/factories/notes.rb b/spec/factories/notes.rb
index 2940ac342a2..6801438165d 100644
--- a/spec/factories/notes.rb
+++ b/spec/factories/notes.rb
@@ -9,9 +9,9 @@ FactoryGirl.define do
author
noteable { create(:issue, project: project) }
- factory :note_on_issue, traits: [:on_issue], aliases: [:votable_note]
factory :note_on_commit, traits: [:on_commit]
factory :note_on_commit_diff, traits: [:on_commit, :on_diff], class: LegacyDiffNote
+ factory :note_on_issue, traits: [:on_issue], aliases: [:votable_note]
factory :note_on_merge_request, traits: [:on_merge_request]
factory :note_on_merge_request_diff, traits: [:on_merge_request, :on_diff], class: LegacyDiffNote
factory :note_on_project_snippet, traits: [:on_project_snippet]
@@ -19,14 +19,20 @@ FactoryGirl.define do
factory :downvote_note, traits: [:award, :downvote]
factory :upvote_note, traits: [:award, :upvote]
- trait :on_issue do
- noteable_type 'Issue'
- end
-
trait :on_commit do
noteable nil
+ noteable_type 'Commit'
+ noteable_id nil
commit_id RepoHelpers.sample_commit.id
- noteable_type "Commit"
+ end
+
+ trait :on_diff do
+ line_code "0_184_184"
+ end
+
+ trait :on_issue do
+ noteable_type 'Issue'
+ noteable { create(:issue, project: project) }
end
trait :on_merge_request do
@@ -42,10 +48,6 @@ FactoryGirl.define do
noteable { create(:snippet, project: project) }
end
- trait :on_diff do
- line_code "0_184_184"
- end
-
trait :system do
system true
end
diff --git a/spec/models/concerns/issuable_spec.rb b/spec/models/concerns/issuable_spec.rb
index 331ebaf4ac4..70bbe633269 100644
--- a/spec/models/concerns/issuable_spec.rb
+++ b/spec/models/concerns/issuable_spec.rb
@@ -228,9 +228,11 @@ describe Issue, "Issuable" do
end
describe "votes" do
+ let(:project) { issue.project }
+
before do
- issue.notes.awards.create!(note: "thumbsup", author: user, project: issue.project)
- issue.notes.awards.create!(note: "thumbsdown", author: user, project: issue.project)
+ issue.notes.awards.create!(note: "thumbsup", author: user, project: project)
+ issue.notes.awards.create!(note: "thumbsdown", author: user, project: project)
end
it "returns correct values" do
diff --git a/spec/models/merge_request_spec.rb b/spec/models/merge_request_spec.rb
index 20e383e03b4..4b67c2facf3 100644
--- a/spec/models/merge_request_spec.rb
+++ b/spec/models/merge_request_spec.rb
@@ -120,7 +120,6 @@ describe MergeRequest, models: true do
before do
allow(merge_request).to receive(:commits) { [merge_request.source_project.repository.commit] }
create(:note_on_commit, commit_id: merge_request.commits.first.id,
- noteable_type: 'Commit',
project: merge_request.project)
create(:note, noteable: merge_request, project: merge_request.project)
end
@@ -132,7 +131,6 @@ describe MergeRequest, models: true do
it "should include notes for commits from target project as well" do
create(:note_on_commit, commit_id: merge_request.commits.first.id,
- noteable_type: 'Commit',
project: merge_request.target_project)
expect(merge_request.commits).not_to be_empty
diff --git a/spec/models/note_spec.rb b/spec/models/note_spec.rb
index 20d40c47aa6..e1b81b23d4b 100644
--- a/spec/models/note_spec.rb
+++ b/spec/models/note_spec.rb
@@ -13,29 +13,30 @@ describe Note, models: true do
it { is_expected.to validate_presence_of(:note) }
it { is_expected.to validate_presence_of(:project) }
- context 'when note is comment on commit' do
+ context 'when note is on commit' do
before { allow(subject).to receive(:for_commit?).and_return(true) }
it { is_expected.to validate_presence_of(:commit_id) }
it { is_expected.to_not validate_presence_of(:noteable_id) }
end
- context 'when note is not comment on commit' do
+ context 'when note is not on commit' do
before { allow(subject).to receive(:for_commit?).and_return(false) }
it { is_expected.to_not validate_presence_of(:commit_id) }
it { is_expected.to validate_presence_of(:noteable_id) }
end
- context 'when noteable and note project is different' do
+ context 'when noteable and note project differ' do
subject do
- build(:note, noteable: create(:issue), project: create(:project))
+ build(:note, noteable: build_stubbed(:issue),
+ project: build_stubbed(:project))
end
it { is_expected.to be_invalid }
end
- context 'when noteable and note project is the same one' do
+ context 'when noteable and note project are the same' do
subject { create(:note) }
it { is_expected.to be_valid }
end