diff options
author | Felipe Artur <felipefac@gmail.com> | 2017-11-21 22:25:37 +0300 |
---|---|---|
committer | Felipe Artur <felipefac@gmail.com> | 2017-11-23 22:25:14 +0300 |
commit | 5c2c471a835f9588e39ec11fa79571c8b44979f8 (patch) | |
tree | a1e861518e7ee2e9199891fd75f02657c7f50ba9 /spec/services/issuable | |
parent | e72804ed0a73f8807ca58881645f0c95c70de9c9 (diff) |
Fix WIP system note not being created
Diffstat (limited to 'spec/services/issuable')
-rw-r--r-- | spec/services/issuable/common_system_notes_service_spec.rb | 43 |
1 files changed, 42 insertions, 1 deletions
diff --git a/spec/services/issuable/common_system_notes_service_spec.rb b/spec/services/issuable/common_system_notes_service_spec.rb index 9f92b662be1..b8fa3e3d124 100644 --- a/spec/services/issuable/common_system_notes_service_spec.rb +++ b/spec/services/issuable/common_system_notes_service_spec.rb @@ -18,7 +18,18 @@ describe Issuable::CommonSystemNotesService do note = Note.last expect(note.note).to match(note_text) - expect(note.noteable_type).to eq('Issue') + expect(note.noteable_type).to eq(issuable.class.name) + end + end + + shared_examples 'WIP notes creation' do |wip_action| + subject { described_class.new(project, user).execute(issuable, []) } + + it 'creates WIP toggle and title change notes' do + expect { subject }.to change { Note.count }.from(0).to(2) + + expect(Note.first.note).to match("#{wip_action} as a **Work In Progress**") + expect(Note.second.note).to match('changed title') end end @@ -45,5 +56,35 @@ describe Issuable::CommonSystemNotesService do it_behaves_like 'system note creation', {}, 'changed milestone' end + + context 'with merge requests WIP note' do + context 'adding WIP note' do + let(:issuable) { create(:merge_request, title: "merge request") } + + it_behaves_like 'system note creation', { title: "WIP merge request" }, 'marked as a **Work In Progress**' + + context 'and changing title' do + before do + issuable.update_attribute(:title, "WIP changed title") + end + + it_behaves_like 'WIP notes creation', 'marked' + end + end + + context 'removing WIP note' do + let(:issuable) { create(:merge_request, title: "WIP merge request") } + + it_behaves_like 'system note creation', { title: "merge request" }, 'unmarked as a **Work In Progress**' + + context 'and changing title' do + before do + issuable.update_attribute(:title, "changed title") + end + + it_behaves_like 'WIP notes creation', 'unmarked' + end + end + end end end |