mirror of
https://github.com/internetee/registry.git
synced 2025-06-02 18:58:35 +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
|
||||
|
||||
def current_user_companies
|
||||
current_registrant_user.companies
|
||||
[:ok, current_registrant_user.companies]
|
||||
rescue CompanyRegister::NotAvailableError
|
||||
[]
|
||||
[:service_unavailable, []]
|
||||
end
|
||||
|
||||
def limit
|
||||
|
@ -35,8 +35,8 @@ module Api
|
|||
end
|
||||
|
||||
def companies_result(limit, offset)
|
||||
@companies = current_user_companies.drop(offset).first(limit)
|
||||
status = @companies.present? ? :ok : :not_found
|
||||
status, all_companies = current_user_companies
|
||||
@companies = all_companies.drop(offset).first(limit)
|
||||
|
||||
serialized_companies = @companies.map do |item|
|
||||
country_code = current_registrant_user.country.alpha3
|
||||
|
|
|
@ -1,3 +1,4 @@
|
|||
$VERBOSE=nil
|
||||
require 'test_helper'
|
||||
require 'auth_token/auth_token_creator'
|
||||
|
||||
|
@ -33,6 +34,18 @@ class RegistrantApiCompaniesTest < ApplicationIntegrationTest
|
|||
assert_equal(:companies, response_json.keys.first)
|
||||
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
|
||||
|
||||
def auth_token
|
||||
|
@ -41,3 +54,12 @@ class RegistrantApiCompaniesTest < ApplicationIntegrationTest
|
|||
"Bearer #{hash[:access_token]}"
|
||||
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