Skip to content

Commit c7b22c0

Browse files
committed
bump to 100% line coverage
1 parent d25faf1 commit c7b22c0

File tree

5 files changed

+17
-10
lines changed

5 files changed

+17
-10
lines changed

lib/twelvedata_ruby/response.rb

Lines changed: 0 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -77,8 +77,6 @@ def extract_error_data(http_response)
7777
code: http_response.status
7878
}
7979
end
80-
rescue StandardError
81-
{ message: "Unknown error", code: http_response.status }
8280
end
8381

8482
def determine_error_class(status_code)

lib/twelvedata_ruby/utils.rb

Lines changed: 1 addition & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -25,10 +25,7 @@ def demodulize(obj)
2525
# Utils.to_integer("123") #=> 123
2626
# Utils.to_integer("abc", 0) #=> 0
2727
def to_integer(obj, default_value = nil)
28-
return obj if obj.is_a?(Integer)
29-
return default_value unless obj.to_s.match?(/^\d+$/)
30-
31-
Integer(obj.to_s)
28+
obj.is_a?(Integer) ? obj : Integer(obj.to_s)
3229
rescue ArgumentError
3330
default_value
3431
end

spec/lib/twelvedata_ruby/response_spec.rb

Lines changed: 12 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -592,5 +592,17 @@
592592
expect(result.status_code).to eq(500)
593593
end
594594
end
595+
596+
context "with unknown HTTP error status" do
597+
before { stub_http_error(request, 999) }
598+
599+
it "creates ResponseError directly" do
600+
http_response = TwelvedataRuby::Client.request(request)
601+
result = described_class.resolve(http_response, request)
602+
603+
expect(result).to be_a(TwelvedataRuby::ResponseError)
604+
expect(result.status_code).to eq(999)
605+
end
606+
end
595607
end
596608
end

spec/lib/twelvedata_ruby/utils_spec.rb

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,4 +1,4 @@
1-
# frozen_string_literal: true
1+
# frozen_string_literal: true
22

33
RSpec.describe TwelvedataRuby::Utils do
44
describe ".demodulize" do

spec/support/http_stub_helpers.rb

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -61,15 +61,15 @@ def stub_http_error(request, status_code, **options)
6161
# @param request [TwelvedataRuby::Request] Request object to stub
6262
# @return [WebMock::RequestStub] WebMock stub
6363
def stub_timeout_error(request)
64-
stub_connection_failure(request).to_timeout
64+
stub_failure(request).to_timeout
6565
end
6666

6767
# Stub a network connection error
6868
#
6969
# @param request [TwelvedataRuby::Request] Request object to stub
7070
# @return [WebMock::RequestStub] WebMock stub
7171
def stub_connection_error(request)
72-
stub_connection_failure(request).to_raise(HTTPX::ConnectionError.new("Connection failed"))
72+
stub_failure(request).to_raise(HTTPX::ConnectionError.new("Connection failed"))
7373
end
7474

7575
# Create a mock request object for testing
@@ -109,7 +109,7 @@ def stub_any_api_request(**options)
109109

110110
private
111111

112-
def stub_connection_failure(request)
112+
def stub_failure(request)
113113
stub_request(request.http_verb, request.full_url)
114114
.with(query: request.query_params, headers: { "User-Agent" => "httpx.rb/#{HTTPX::VERSION}", "Accept" => "*/*", "Accept-Encoding" => "gzip, deflate" })
115115
end

0 commit comments

Comments
 (0)