Issue creation now accepts trailing whitespace

This commit is contained in:
Z.J. van de Weg 2016-11-21 20:48:18 +01:00
parent 60c2d59072
commit 3ff0575669
2 changed files with 13 additions and 2 deletions

View file

@ -2,7 +2,9 @@ module Gitlab
module ChatCommands
class IssueCreate < IssueCommand
def self.match(text)
/\Aissue\s+create\s+(?<title>[^\n]*)\n*(?<description>.*)\z/.match(text)
# we can not match \n with the dot by passing the m modifier as than
# the title and description are not seperated
/\Aissue\s+create\s+(?<title>[^\n]*)\n*(?<description>(.|\n)*)/.match(text)
end
def self.help_message
@ -15,7 +17,7 @@ module Gitlab
def execute(match)
title = match[:title]
description = match[:description]
description = match[:description].to_s.rstrip
Issues::CreateService.new(project, current_user, title: title, description: description).execute
end

View file

@ -32,6 +32,15 @@ describe Gitlab::ChatCommands::IssueCreate, service: true do
expect(Issue.last.description).to eq(description)
end
end
context "with more newlines between the title and the description" do
let(:description) { "Surfin bird" }
let(:regex_match) { described_class.match("issue create bird is the word\n\n#{description}\n") }
it 'creates the issue' do
expect { subject }.to change { project.issues.count }.by(1)
end
end
end
describe '.match' do