aboutsummaryrefslogtreecommitdiffstats
path: root/t/Mock
diff options
context:
space:
mode:
authorMatthew Somerville <matthew@mysociety.org>2020-06-23 14:32:42 +0100
committerMatthew Somerville <matthew@mysociety.org>2020-06-25 09:35:02 +0100
commitd1c38a2bdbe5891fa63bde40e398e3cc33881566 (patch)
treea3be291dccfde91d912e3ff5b4e3e3635e9aeb92 /t/Mock
parent2b462f20d2479649c14efead2680a49543ca32d0 (diff)
Improve Bing geocoder results.
Add a couple of parameters to hopefully improve results, and make sure the returned locality is included in the summary address.
Diffstat (limited to 't/Mock')
-rw-r--r--t/Mock/Bing.pm30
1 files changed, 30 insertions, 0 deletions
diff --git a/t/Mock/Bing.pm b/t/Mock/Bing.pm
index 3dfb8fbe0..77045950f 100644
--- a/t/Mock/Bing.pm
+++ b/t/Mock/Bing.pm
@@ -14,6 +14,36 @@ has json => (
sub dispatch_request {
my $self = shift;
+ sub (GET + /REST/v1/Locations + ?*) {
+ my ($self, $query) = @_;
+ my $results = [ {
+ point => { coordinates => [ 51, -1 ] },
+ name => 'Constitution Hill, London, SW1A',
+ address => {
+ addressLine => 'Constitution Hill',
+ locality => 'London',
+ countryRegion => 'United Kingdom',
+ }
+ } ];
+ if ($query->{q} =~ /two results/) {
+ push @$results, {
+ point => { coordinates => [ 51, -1 ] },
+ name => 'Constitution Hill again, United Kingdom',
+ address => {
+ addressLine => 'Constitution Hill again',
+ locality => 'London',
+ countryRegion => 'United Kingdom',
+ }
+ };
+ }
+ my $data = {
+ statusCode => 200,
+ resourceSets => [ { resources => $results } ],
+ };
+ my $json = $self->json->encode($data);
+ return [ 200, [ 'Content-Type' => 'application/json' ], [ $json ] ];
+ },
+
sub (GET + /REST/v1/Locations/* + ?*) {
my ($self, $location, $query) = @_;
my $data = {