Commit 826d6526 authored by Valery Sizov's avatar Valery Sizov

Resolve interpret_service.rb and its spec

parent 0ff8316b
...@@ -91,36 +91,30 @@ module SlashCommands ...@@ -91,36 +91,30 @@ module SlashCommands
end end
desc 'Assign' desc 'Assign'
explanation do |user| explanation do |users|
"Assigns #{user.to_reference}." if user "Assigns #{users.map(&:to_reference).to_sentence}." if users.any?
end end
params '@user' params '@user'
condition do condition do
current_user.can?(:"admin_#{issuable.to_ability_name}", project) current_user.can?(:"admin_#{issuable.to_ability_name}", project)
end end
<<<<<<< HEAD
parse_params do |assignee_param| parse_params do |assignee_param|
extract_references(assignee_param, :user).first || users = extract_references(assignee_param, :user)
User.find_by(username: assignee_param)
end
command :assign do |user|
@updates[:assignee_id] = user.id if user
=======
command :assign do |assignee_param|
user_ids = extract_references(assignee_param, :user).map(&:id)
if user_ids.empty? if users.empty?
user_ids = User.where(username: assignee_param.split(' ').map(&:strip)).pluck(:id) users = User.where(username: assignee_param.split(' ').map(&:strip))
end end
next if user_ids.empty? users
end
command :assign do |users|
next if users.empty?
if issuable.is_a?(Issue) if issuable.is_a?(Issue)
@updates[:assignee_ids] = user_ids @updates[:assignee_ids] = users.map(&:id)
else else
@updates[:assignee_id] = user_ids.last @updates[:assignee_id] = users.last.id
end end
>>>>>>> origin/multiple_assignees_review
end end
desc 'Remove assignee' desc 'Remove assignee'
......
...@@ -43,26 +43,6 @@ describe SlashCommands::InterpretService, services: true do ...@@ -43,26 +43,6 @@ describe SlashCommands::InterpretService, services: true do
end end
end end
<<<<<<< HEAD
shared_examples 'assign command' do
it 'fetches assignee and populates assignee_id if content contains /assign' do
_, updates = service.execute(content, issuable)
expect(updates).to eq(assignee_id: developer.id)
end
end
shared_examples 'unassign command' do
it 'populates assignee_id: nil if content contains /unassign' do
issuable.update!(assignee_id: developer.id)
_, updates = service.execute(content, issuable)
expect(updates).to eq(assignee_id: nil)
end
end
=======
>>>>>>> origin/multiple_assignees_review
shared_examples 'milestone command' do shared_examples 'milestone command' do
it 'fetches milestone and populates milestone_id if content contains /milestone' do it 'fetches milestone and populates milestone_id if content contains /milestone' do
milestone # populate the milestone milestone # populate the milestone
......
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment