mirror of
https://github.com/internetee/registry.git
synced 2025-06-06 04:37:30 +02:00
Change error handling to more humane
This commit is contained in:
parent
ce93425ad8
commit
c09e08c61e
2 changed files with 26 additions and 4 deletions
|
@ -16,9 +16,9 @@ module Api
|
||||||
end
|
end
|
||||||
|
|
||||||
def current_user_companies
|
def current_user_companies
|
||||||
current_registrant_user.companies
|
[:ok, current_registrant_user.companies]
|
||||||
rescue CompanyRegister::NotAvailableError
|
rescue CompanyRegister::NotAvailableError
|
||||||
[]
|
[:service_unavailable, []]
|
||||||
end
|
end
|
||||||
|
|
||||||
def limit
|
def limit
|
||||||
|
@ -35,8 +35,8 @@ module Api
|
||||||
end
|
end
|
||||||
|
|
||||||
def companies_result(limit, offset)
|
def companies_result(limit, offset)
|
||||||
@companies = current_user_companies.drop(offset).first(limit)
|
status, all_companies = current_user_companies
|
||||||
status = @companies.present? ? :ok : :not_found
|
@companies = all_companies.drop(offset).first(limit)
|
||||||
|
|
||||||
serialized_companies = @companies.map do |item|
|
serialized_companies = @companies.map do |item|
|
||||||
country_code = current_registrant_user.country.alpha3
|
country_code = current_registrant_user.country.alpha3
|
||||||
|
|
|
@ -1,3 +1,4 @@
|
||||||
|
$VERBOSE=nil
|
||||||
require 'test_helper'
|
require 'test_helper'
|
||||||
require 'auth_token/auth_token_creator'
|
require 'auth_token/auth_token_creator'
|
||||||
|
|
||||||
|
@ -33,6 +34,18 @@ class RegistrantApiCompaniesTest < ApplicationIntegrationTest
|
||||||
assert_equal(:companies, response_json.keys.first)
|
assert_equal(:companies, response_json.keys.first)
|
||||||
end
|
end
|
||||||
|
|
||||||
|
def test_status_if_nil_result
|
||||||
|
contacts(:john).update!(ident: '12344321', ident_type: 'priv', ident_country_code: 'US')
|
||||||
|
|
||||||
|
CompanyRegister.const_set(:Client, CompanyRegisterClientZeroStub)
|
||||||
|
|
||||||
|
get '/api/v1/registrant/companies', headers: @auth_headers
|
||||||
|
response_json = JSON.parse(response.body, symbolize_names: true)
|
||||||
|
assert_equal(1, response_json.count)
|
||||||
|
assert_equal(200, response.status)
|
||||||
|
assert_equal(:companies, response_json.keys.first)
|
||||||
|
end
|
||||||
|
|
||||||
private
|
private
|
||||||
|
|
||||||
def auth_token
|
def auth_token
|
||||||
|
@ -41,3 +54,12 @@ class RegistrantApiCompaniesTest < ApplicationIntegrationTest
|
||||||
"Bearer #{hash[:access_token]}"
|
"Bearer #{hash[:access_token]}"
|
||||||
end
|
end
|
||||||
end
|
end
|
||||||
|
|
||||||
|
class CompanyRegisterClientZeroStub
|
||||||
|
Company = Struct.new(:registration_number, :company_name)
|
||||||
|
|
||||||
|
def representation_rights(citizen_personal_code:, citizen_country_code:)
|
||||||
|
[]
|
||||||
|
end
|
||||||
|
end
|
||||||
|
|
||||||
|
|
Loading…
Add table
Add a link
Reference in a new issue