Commit 85f0229b authored by Z.J. van de Weg's avatar Z.J. van de Weg

Fix inconsistent return type

parent b60de9c0
...@@ -34,7 +34,10 @@ class Projects::MattermostsController < Projects::ApplicationController ...@@ -34,7 +34,10 @@ class Projects::MattermostsController < Projects::ApplicationController
end end
def teams def teams
@teams ||= @service.list_teams(current_user) @teams ||= begin
teams, error_message = @service.list_teams(current_user)
error_message ? error_message : teams
end
end end
def service def service
......
...@@ -30,8 +30,8 @@ class MattermostSlashCommandsService < ChatSlashCommandsService ...@@ -30,8 +30,8 @@ class MattermostSlashCommandsService < ChatSlashCommandsService
def list_teams(user) def list_teams(user)
Mattermost::Team.new(user).all Mattermost::Team.new(user).all
rescue Mattermost::Error => e rescue Mattermost::Error
[[], e.message] []
end end
private private
......
...@@ -27,12 +27,12 @@ module Mattermost ...@@ -27,12 +27,12 @@ module Mattermost
end end
def json_response(response) def json_response(response)
json_response = JSON.parse(response.body)
unless response.success? unless response.success?
raise Mattermost::ClientError.new(json_response['message'] || 'Undefined error') raise Mattermost::ClientError.new(json_response['message'] || 'Undefined error')
end end
json_response = JSON.parse(response.body)
json_response json_response
rescue JSON::JSONError rescue JSON::JSONError
raise Mattermost::ClientError.new('Cannot parse response') raise Mattermost::ClientError.new('Cannot parse response')
......
...@@ -13,13 +13,13 @@ describe Projects::MattermostsController do ...@@ -13,13 +13,13 @@ describe Projects::MattermostsController do
before do before do
allow_any_instance_of(MattermostSlashCommandsService). allow_any_instance_of(MattermostSlashCommandsService).
to receive(:list_teams).and_return([]) to receive(:list_teams).and_return([])
end
it 'accepts the request' do
get(:new, get(:new,
namespace_id: project.namespace.to_param, namespace_id: project.namespace.to_param,
project_id: project.to_param) project_id: project.to_param)
end
it 'accepts the request' do
expect(response).to have_http_status(200) expect(response).to have_http_status(200)
end end
end end
......
...@@ -113,10 +113,7 @@ describe MattermostSlashCommandsService, :models do ...@@ -113,10 +113,7 @@ describe MattermostSlashCommandsService, :models do
end end
it 'shows error messages' do it 'shows error messages' do
teams, message = subject expect(subject).to eq([])
expect(teams).to be_empty
expect(message).to eq('Failed to get team list.')
end end
end end
end end
......
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