Module: GdsApi::TestHelpers::LocationsApi
- Defined in:
- lib/gds_api/test_helpers/locations_api.rb
Constant Summary collapse
- LOCATIONS_API_ENDPOINT =
Plek.find("locations-api")
Instance Method Summary collapse
- #stub_locations_api_does_not_have_a_bad_postcode(postcode) ⇒ Object
- #stub_locations_api_has_location(postcode, locations) ⇒ Object
- #stub_locations_api_has_no_location(postcode) ⇒ Object
Instance Method Details
#stub_locations_api_does_not_have_a_bad_postcode(postcode) ⇒ Object
32 33 34 35 |
# File 'lib/gds_api/test_helpers/locations_api.rb', line 32 def stub_locations_api_does_not_have_a_bad_postcode(postcode) stub_request(:get, "#{LOCATIONS_API_ENDPOINT}/v1/locations?postcode=#{postcode}") .to_return(body: { "code" => 400, "error" => "Postcode '#{postcode}' is not valid." }.to_json, status: 400) end |
#stub_locations_api_has_location(postcode, locations) ⇒ Object
6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 |
# File 'lib/gds_api/test_helpers/locations_api.rb', line 6 def stub_locations_api_has_location(postcode, locations) results = [] locations.each_with_index do |l, i| results << { "address" => l["address"] || "Empty Address #{i}", "latitude" => l["latitude"] || 0, "longitude" => l["longitude"] || 0, "local_custodian_code" => l["local_custodian_code"], } end response = { "average_latitude" => results.sum { |r| r["latitude"] } / results.size.to_f, "average_longitude" => results.sum { |r| r["longitude"] } / results.size.to_f, "results" => results, } stub_request(:get, "#{LOCATIONS_API_ENDPOINT}/v1/locations?postcode=#{postcode}") .to_return(body: response.to_json, status: 200) end |
#stub_locations_api_has_no_location(postcode) ⇒ Object
27 28 29 30 |
# File 'lib/gds_api/test_helpers/locations_api.rb', line 27 def stub_locations_api_has_no_location(postcode) stub_request(:get, "#{LOCATIONS_API_ENDPOINT}/v1/locations?postcode=#{postcode}") .to_return(body: { "results" => nil }.to_json, status: 200) end |