Skip to content

Commit 80341f8

Browse files
committed
Add tests for Google Places Search and Details fields
1 parent 0ced25a commit 80341f8

2 files changed

Lines changed: 53 additions & 0 deletions

File tree

test/unit/lookups/google_places_details_test.rb

Lines changed: 33 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -81,6 +81,39 @@ def test_google_places_details_query_url_always_uses_https
8181
assert_match(%r(^https://), url)
8282
end
8383

84+
def test_google_places_details_query_url_omits_fields_by_default
85+
url = lookup.query_url(Geocoder::Query.new("some-place-id"))
86+
assert_no_match(/fields=/, url)
87+
end
88+
89+
def test_google_places_details_query_url_contains_specific_fields_when_given
90+
fields = %w[formatted_address place_id]
91+
url = lookup.query_url(Geocoder::Query.new("some-place-id", fields: fields))
92+
assert_match(/fields=#{fields.join('%2C')}/, url)
93+
end
94+
95+
def test_google_places_details_query_url_contains_specific_fields_when_configured
96+
fields = %w[business_status geometry photos]
97+
Geocoder.configure(google_places_details: {fields: fields})
98+
url = lookup.query_url(Geocoder::Query.new("some-place-id"))
99+
assert_match(/fields=#{fields.join('%2C')}/, url)
100+
Geocoder.configure(google_places_details: {})
101+
end
102+
103+
def test_google_places_details_query_url_omits_fields_when_nil_given
104+
Geocoder.configure(google_places_details: {fields: %w[business_status geometry photos]})
105+
url = lookup.query_url(Geocoder::Query.new("some-place-id", fields: nil))
106+
assert_no_match(/fields=/, url)
107+
Geocoder.configure(google_places_details: {})
108+
end
109+
110+
def test_google_places_details_query_url_omits_fields_when_nil_configured
111+
Geocoder.configure(google_places_details: {fields: nil})
112+
url = lookup.query_url(Geocoder::Query.new("some-place-id"))
113+
assert_no_match(/fields=/, url)
114+
Geocoder.configure(google_places_details: {})
115+
end
116+
84117
def test_google_places_details_result_with_no_reviews_shows_empty_reviews
85118
assert_equal no_reviews_result.reviews, []
86119
end

test/unit/lookups/google_places_search_test.rb

Lines changed: 20 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -63,6 +63,26 @@ def test_google_places_search_query_url_contains_specific_fields_when_given
6363
assert_match(/fields=#{fields.join('%2C')}/, url)
6464
end
6565

66+
def test_google_places_search_query_url_contains_specific_fields_when_configured
67+
fields = %w[business_status geometry photos]
68+
Geocoder.configure(google_places_search: {fields: fields})
69+
url = lookup.query_url(Geocoder::Query.new("some-address"))
70+
assert_match(/fields=#{fields.join('%2C')}/, url)
71+
Geocoder.configure(google_places_search: {})
72+
end
73+
74+
def test_google_places_search_query_url_omits_fields_when_nil_given
75+
url = lookup.query_url(Geocoder::Query.new("some-address", fields: nil))
76+
assert_no_match(/fields=/, url)
77+
end
78+
79+
def test_google_places_search_query_url_omits_fields_when_nil_configured
80+
Geocoder.configure(google_places_search: {fields: nil})
81+
url = lookup.query_url(Geocoder::Query.new("some-address"))
82+
assert_no_match(/fields=/, url)
83+
Geocoder.configure(google_places_search: {})
84+
end
85+
6686
def test_google_places_search_query_url_uses_find_place_service
6787
url = lookup.query_url(Geocoder::Query.new("some-address"))
6888
assert_match(%r{//maps.googleapis.com/maps/api/place/findplacefromtext/}, url)

0 commit comments

Comments
 (0)