aboutsummaryrefslogtreecommitdiffstats
path: root/t/Mock/Bing.pm
diff options
context:
space:
mode:
Diffstat (limited to 't/Mock/Bing.pm')
-rw-r--r--t/Mock/Bing.pm47
1 files changed, 47 insertions, 0 deletions
diff --git a/t/Mock/Bing.pm b/t/Mock/Bing.pm
index 3dfb8fbe0..cc4dab845 100644
--- a/t/Mock/Bing.pm
+++ b/t/Mock/Bing.pm
@@ -14,6 +14,53 @@ 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',
+ confidence => 'High',
+ 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',
+ confidence => 'High',
+ address => {
+ addressLine => 'Constitution Hill again',
+ locality => 'London',
+ countryRegion => 'United Kingdom',
+ }
+ };
+ }
+ if ($query->{q} =~ /low/) {
+ push @$results, {
+ point => { coordinates => [ 52, -2 ] },
+ name => 'Constitution Hill elsewhere, United Kingdom',
+ confidence => 'Low',
+ address => {
+ addressLine => 'Constitution Hill elsewhere',
+ locality => 'London',
+ countryRegion => 'United Kingdom',
+ }
+ };
+ }
+ if ($query->{q} =~ /onlylow/) {
+ @$results = map { $_->{confidence} = 'Low'; $_ } @$results;
+ }
+ 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 = {