diff --git a/app/controllers/api/v1/registrant/companies_controller.rb b/app/controllers/api/v1/registrant/companies_controller.rb index b11c06909..d2060276d 100644 --- a/app/controllers/api/v1/registrant/companies_controller.rb +++ b/app/controllers/api/v1/registrant/companies_controller.rb @@ -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 diff --git a/test/integration/api/registrant/registrant_api_companies_test.rb b/test/integration/api/registrant/registrant_api_companies_test.rb index b08383796..97e2fd3c2 100644 --- a/test/integration/api/registrant/registrant_api_companies_test.rb +++ b/test/integration/api/registrant/registrant_api_companies_test.rb @@ -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 +