diff options
author | Dave Arter <davea@mysociety.org> | 2017-06-28 11:06:13 +0100 |
---|---|---|
committer | Matthew Somerville <matthew-github@dracos.co.uk> | 2017-12-13 16:25:31 +0000 |
commit | 36d62c1bd83aa9e164edcc8a7e6c344cc7b07fda (patch) | |
tree | 2dcfa487b3e3050f0d47bf87c8b35f647285b297 /t/app/controller/around.t | |
parent | a3dc1964d8cd0e1a1126838636ae6c5e368433a1 (diff) |
Bypass /around from postcode form if required.
Cobrands can provide a `skip_around_page` method which means the user will be
taken from the front page form directly to /report/new with a pin in the map
at the location entered.
This also preserves the category parameter, if specified on the front page form.
Fixes #1730.
Diffstat (limited to 't/app/controller/around.t')
-rw-r--r-- | t/app/controller/around.t | 16 |
1 files changed, 16 insertions, 0 deletions
diff --git a/t/app/controller/around.t b/t/app/controller/around.t index 8b4fc7825..d1254edb7 100644 --- a/t/app/controller/around.t +++ b/t/app/controller/around.t @@ -1,3 +1,5 @@ +use Test::MockModule; + use FixMyStreet::TestMech; my $mech = FixMyStreet::TestMech->new; @@ -174,4 +176,18 @@ subtest 'check category and status filtering works on /around?ajax' => sub { is scalar @$pins, 1, 'correct number of fixed Vegetation reports'; }; +subtest 'check skip_around skips around page' => sub { + my $cobrand = Test::MockModule->new('FixMyStreet::Cobrand::Default'); + $cobrand->mock('skip_around_page', sub { 1 }); + $cobrand->mock('country', sub { 1 }); + + FixMyStreet::override_config { + MAPIT_URL => 'http://mapit.uk/', + }, sub { + $mech->get('/around?latitude=51.754926&longitude=-1.256179'); + is $mech->res->code, 302, "around page is a redirect"; + is $mech->uri->path, '/report/new', "and redirects to /report/new"; + }; +}; + done_testing(); |