From 7ec0d3f67766764967a8bb92099c582f8bd6aaf5 Mon Sep 17 00:00:00 2001 From: Dave Arter Date: Wed, 24 Jan 2018 18:01:56 +0000 Subject: Cobrands can pass `components` to Google Geocoder. This allows more fine grained control over the geocoder search, e.g. to specify the administrative area or town. See the geocoder api docs: https://developers.google.com/maps/documentation/geocoding/intro#ComponentFiltering --- t/geocode/google.t | 22 ++++++++++++++++++++++ 1 file changed, 22 insertions(+) create mode 100644 t/geocode/google.t (limited to 't/geocode') diff --git a/t/geocode/google.t b/t/geocode/google.t new file mode 100644 index 000000000..ee3c15ea8 --- /dev/null +++ b/t/geocode/google.t @@ -0,0 +1,22 @@ +package FixMyStreet::Cobrand::Tester; +use parent 'FixMyStreet::Cobrand::Default'; +sub country { 'GB' } +sub disambiguate_location { { components => 'country:IE' } } + +package main; + +use FixMyStreet::Test; +use FixMyStreet::Geocode::Google; +use Catalyst::Test 'FixMyStreet::App'; +use t::Mock::GoogleGeocoder; + +my $c = ctx_request('/'); +my $r = FixMyStreet::Geocode::Google::string("one result", $c); +ok $r->{latitude}; +ok $r->{longitude}; + +$c->stash->{cobrand} = FixMyStreet::Cobrand::Tester->new; +$r = FixMyStreet::Geocode::Google::string("two results", $c); +is scalar @{$r->{error}}, 2; + +done_testing; -- cgit v1.2.3