diff options
-rw-r--r-- | CHANGELOG.md | 1 | ||||
-rw-r--r-- | perllib/FixMyStreet/Map/OSM.pm | 4 | ||||
-rw-r--r-- | t/app/controller/around.t | 31 |
3 files changed, 34 insertions, 2 deletions
diff --git a/CHANGELOG.md b/CHANGELOG.md index 67fe1b3be..d58c6e30d 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -13,6 +13,7 @@ - Development improvements: - Add cobrand hook for dashboard viewing permission. #2285 - Have body.url work in hashref lookup. #2284 + - OSM based map types can now override zoom levels #2288 - Internal things: - Move send-comments code to package for testing. #2109 #2170 diff --git a/perllib/FixMyStreet/Map/OSM.pm b/perllib/FixMyStreet/Map/OSM.pm index 67f12d526..a6a95b48b 100644 --- a/perllib/FixMyStreet/Map/OSM.pm +++ b/perllib/FixMyStreet/Map/OSM.pm @@ -69,8 +69,8 @@ sub display_map { sub generate_map_data { my ($self, $data, %params) = @_; - my $numZoomLevels = ZOOM_LEVELS; - my $zoomOffset = MIN_ZOOM_LEVEL; + my $numZoomLevels = $self->ZOOM_LEVELS; + my $zoomOffset = $self->MIN_ZOOM_LEVEL; if ($params{any_zoom}) { $numZoomLevels = 19; $zoomOffset = 0; diff --git a/t/app/controller/around.t b/t/app/controller/around.t index 2d67dc6ac..8eeafec7f 100644 --- a/t/app/controller/around.t +++ b/t/app/controller/around.t @@ -1,3 +1,13 @@ +package FixMyStreet::Map::Tester; +use base 'FixMyStreet::Map::FMS'; + +use constant ZOOM_LEVELS => 99; +use constant MIN_ZOOM_LEVEL => 88; + +1; + +package main; + use Test::MockModule; use FixMyStreet::TestMech; @@ -279,4 +289,25 @@ subtest 'check skip_around skips around page' => sub { }; }; +subtest 'check map zoom level customisation' => sub { + FixMyStreet::override_config { + MAPIT_URL => 'http://mapit.uk/', + MAP_TYPE => 'OSM', + }, sub { + $mech->get('/around?latitude=51.754926&longitude=-1.256179'); + $mech->content_contains('data-numZoomLevels=6'); + $mech->content_contains('data-zoomOffset=13'); + }; + + + FixMyStreet::override_config { + MAPIT_URL => 'http://mapit.uk/', + MAP_TYPE => 'Tester', + }, sub { + $mech->get('/around?latitude=51.754926&longitude=-1.256179'); + $mech->content_contains('data-numZoomLevels=99'); + $mech->content_contains('data-zoomOffset=88'); + }; +}; + done_testing(); |