gds-api-adapters 10.15.1 → 10.16.0
Sign up to get free protection for your applications and to get access to all the features.
- data/lib/gds_api/imminence.rb +5 -0
- data/lib/gds_api/test_helpers/imminence.rb +11 -0
- data/lib/gds_api/version.rb +1 -1
- data/test/imminence_api_test.rb +24 -0
- metadata +4 -4
data/lib/gds_api/imminence.rb
CHANGED
@@ -37,6 +37,11 @@ class GdsApi::Imminence < GdsApi::Base
|
|
37
37
|
get_json!("#{@endpoint}/business_support_schemes.json#{query}")
|
38
38
|
end
|
39
39
|
|
40
|
+
def areas_for_postcode(postcode)
|
41
|
+
url = "#{@endpoint}/areas/#{URI.encode(postcode)}.json"
|
42
|
+
get_json(url)
|
43
|
+
end
|
44
|
+
|
40
45
|
private
|
41
46
|
def self.extract_location_hash(location)
|
42
47
|
# Deal with all known location formats:
|
@@ -41,6 +41,17 @@ module GdsApi
|
|
41
41
|
stub_request(:get, %r{\A#{IMMINENCE_API_ENDPOINT}/business_support_schemes\.json}).
|
42
42
|
to_return(:body => empty_results.to_json)
|
43
43
|
end
|
44
|
+
|
45
|
+
def imminence_has_areas_for_postcode(postcode, areas)
|
46
|
+
results = {
|
47
|
+
"_response_info" => {"status" => "ok"},
|
48
|
+
"total" => areas.size, "startIndex" => 1, "pageSize" => areas.size,
|
49
|
+
"currentPage" => 1, "pages" => 1, "results" => areas
|
50
|
+
}
|
51
|
+
|
52
|
+
stub_request(:get, %r{\A#{IMMINENCE_API_ENDPOINT}/areas/#{postcode}\.json}).
|
53
|
+
to_return(:body => results.to_json)
|
54
|
+
end
|
44
55
|
end
|
45
56
|
end
|
46
57
|
end
|
data/lib/gds_api/version.rb
CHANGED
data/test/imminence_api_test.rb
CHANGED
@@ -163,4 +163,28 @@ EOS
|
|
163
163
|
response_body = api_client.places_kml("test")
|
164
164
|
assert_equal kml_body, response_body
|
165
165
|
end
|
166
|
+
|
167
|
+
def test_areas_for_postcode
|
168
|
+
areas = [
|
169
|
+
{ "id" => 12, "type" => "LBO", "name" => "Westminster City Council", "country_name" => "England" },
|
170
|
+
{ "id" => 66, "type" => "EUR", "name" => "London", "country_name" => "England" }
|
171
|
+
]
|
172
|
+
results = {
|
173
|
+
"_response_info" => {"status" => "ok"},
|
174
|
+
"total" => areas.size, "startIndex" => 1, "pageSize" => areas.size,
|
175
|
+
"currentPage" => 1, "pages" => 1, "results" => areas
|
176
|
+
}
|
177
|
+
|
178
|
+
stub_request(:get, "#{ROOT}/areas/WC2B%206SE.json").
|
179
|
+
with(headers: GdsApi::JsonClient::DEFAULT_REQUEST_HEADERS).
|
180
|
+
to_return(status: 200, body: results.to_json )
|
181
|
+
|
182
|
+
response = api_client.areas_for_postcode("WC2B 6SE")
|
183
|
+
|
184
|
+
assert_equal "ok", response["_response_info"]["status"]
|
185
|
+
areas_from_response = response["results"]
|
186
|
+
assert_equal 2, areas_from_response.size
|
187
|
+
assert_equal "LBO", areas_from_response.first["type"]
|
188
|
+
assert_equal 12, areas_from_response.first["id"]
|
189
|
+
end
|
166
190
|
end
|
metadata
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: gds-api-adapters
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version: 10.
|
4
|
+
version: 10.16.0
|
5
5
|
prerelease:
|
6
6
|
platform: ruby
|
7
7
|
authors:
|
@@ -9,7 +9,7 @@ authors:
|
|
9
9
|
autorequire:
|
10
10
|
bindir: bin
|
11
11
|
cert_chain: []
|
12
|
-
date: 2014-06-
|
12
|
+
date: 2014-06-09 00:00:00.000000000 Z
|
13
13
|
dependencies:
|
14
14
|
- !ruby/object:Gem::Dependency
|
15
15
|
name: plek
|
@@ -382,7 +382,7 @@ required_ruby_version: !ruby/object:Gem::Requirement
|
|
382
382
|
version: '0'
|
383
383
|
segments:
|
384
384
|
- 0
|
385
|
-
hash: -
|
385
|
+
hash: -1543517987799295868
|
386
386
|
required_rubygems_version: !ruby/object:Gem::Requirement
|
387
387
|
none: false
|
388
388
|
requirements:
|
@@ -391,7 +391,7 @@ required_rubygems_version: !ruby/object:Gem::Requirement
|
|
391
391
|
version: '0'
|
392
392
|
segments:
|
393
393
|
- 0
|
394
|
-
hash: -
|
394
|
+
hash: -1543517987799295868
|
395
395
|
requirements: []
|
396
396
|
rubyforge_project:
|
397
397
|
rubygems_version: 1.8.23
|