summaryrefslogtreecommitdiff
path: root/spec/services/notes/create_service_spec.rb
diff options
context:
space:
mode:
authorRémy Coutable <remy@rymai.me>2016-08-09 19:26:45 +0200
committerRémy Coutable <remy@rymai.me>2016-08-13 00:06:11 +0200
commit7cc4ab14b8a2f1d7d374a320b79374764527659f (patch)
tree6dfd4067d98db291f9b8f5db05909967e0c7cd27 /spec/services/notes/create_service_spec.rb
parenta54fdc384fee9daeab1b9fb638dae5dce4e4be15 (diff)
downloadgitlab-ce-7cc4ab14b8a2f1d7d374a320b79374764527659f.tar.gz
New Notes::SlashCommandsService service
Check for update_issuable permission in Notes::SlashCommandsService Signed-off-by: Rémy Coutable <remy@rymai.me>
Diffstat (limited to 'spec/services/notes/create_service_spec.rb')
-rw-r--r--spec/services/notes/create_service_spec.rb23
1 files changed, 14 insertions, 9 deletions
diff --git a/spec/services/notes/create_service_spec.rb b/spec/services/notes/create_service_spec.rb
index 36ca7d2bce8..92dbccf0729 100644
--- a/spec/services/notes/create_service_spec.rb
+++ b/spec/services/notes/create_service_spec.rb
@@ -9,25 +9,30 @@ describe Notes::CreateService, services: true do
end
describe '#execute' do
+ before do
+ project.team << [user, :master]
+ end
+
context "valid params" do
before do
- project.team << [user, :master]
@note = Notes::CreateService.new(project, user, opts).execute
end
it { expect(@note).to be_valid }
it { expect(@note.note).to eq(opts[:note]) }
+ end
- it_behaves_like 'note on noteable that supports slash commands' do
- let(:noteable) { create(:issue, project: project) }
- end
+ describe 'note with commands' do
+ describe '/close, /label, /assign & /milestone' do
+ let(:note_text) { %(HELLO\n/close\n/assign @#{user.username}\nWORLD) }
- it_behaves_like 'note on noteable that supports slash commands' do
- let(:noteable) { create(:merge_request, source_project: project) }
- end
+ it 'saves the note and does not alter the note text' do
+ expect_any_instance_of(Issues::UpdateService).to receive(:execute).and_call_original
+
+ note = described_class.new(project, user, opts.merge(note: note_text)).execute
- it_behaves_like 'note on noteable that does not support slash commands' do
- let(:noteable) { create(:commit, project: project) }
+ expect(note.note).to eq "HELLO\nWORLD"
+ end
end
end
end