summaryrefslogtreecommitdiff
path: root/spec
diff options
context:
space:
mode:
authorDmitriy Zaporozhets <dmitriy.zaporozhets@gmail.com>2014-01-12 08:10:58 -0800
committerDmitriy Zaporozhets <dmitriy.zaporozhets@gmail.com>2014-01-12 08:10:58 -0800
commit0253c949a2569e02eba7585a794e0db4aaee4406 (patch)
tree2833face5d6bdad3f0db3bca34ece186bdaf9c35 /spec
parentcadbd3f0c1bd53fed7d081ef514833c4030a19da (diff)
parent09cbe95b20f87ac95dd84a3a033e3f0a1b9aa5a5 (diff)
downloadgitlab-ce-0253c949a2569e02eba7585a794e0db4aaee4406.tar.gz
Merge pull request #5933 from dblessing/feature/assignee_changes_in_timeline
Add note for assignee changes
Diffstat (limited to 'spec')
-rw-r--r--spec/models/note_spec.rb31
1 files changed, 31 insertions, 0 deletions
diff --git a/spec/models/note_spec.rb b/spec/models/note_spec.rb
index 55b264ce8cf..b86603dd4ac 100644
--- a/spec/models/note_spec.rb
+++ b/spec/models/note_spec.rb
@@ -180,6 +180,31 @@ describe Note do
end
end
+ describe '#create_assignee_change_note' do
+ let(:project) { create(:project) }
+ let(:thing) { create(:issue, project: project) }
+ let(:author) { create(:user) }
+ let(:assignee) { create(:user) }
+
+ subject { Note.create_assignee_change_note(thing, project, author, assignee) }
+
+ context 'creates and saves a Note' do
+ it { should be_a Note }
+ its(:id) { should_not be_nil }
+ end
+
+ its(:noteable) { should == thing }
+ its(:project) { should == thing.project }
+ its(:author) { should == author }
+ its(:note) { should =~ /Reassigned to @#{assignee.username}/ }
+
+ context 'assignee is removed' do
+ let(:assignee) { nil }
+
+ its(:note) { should =~ /Assignee removed/ }
+ end
+ end
+
describe '#create_cross_reference_note' do
let(:project) { create(:project_with_code) }
let(:author) { create(:user) }
@@ -252,6 +277,7 @@ describe Note do
let(:issue) { create(:issue, project: project) }
let(:other) { create(:issue, project: project) }
let(:author) { create(:user) }
+ let(:assignee) { create(:user) }
it 'should recognize user-supplied notes as non-system' do
@note = create(:note_on_issue)
@@ -267,6 +293,11 @@ describe Note do
@note = Note.create_cross_reference_note(issue, other, author, project)
@note.should be_system
end
+
+ it 'should identify assignee-change notes as system notes' do
+ @note = Note.create_assignee_change_note(issue, project, author, assignee)
+ @note.should be_system
+ end
end
describe :authorization do