aboutsummaryrefslogtreecommitdiffstats
path: root/t/app/controller/around.t
diff options
context:
space:
mode:
authorDave Arter <davea@mysociety.org>2017-06-28 11:06:13 +0100
committerMatthew Somerville <matthew-github@dracos.co.uk>2017-12-13 16:25:31 +0000
commit36d62c1bd83aa9e164edcc8a7e6c344cc7b07fda (patch)
tree2dcfa487b3e3050f0d47bf87c8b35f647285b297 /t/app/controller/around.t
parenta3dc1964d8cd0e1a1126838636ae6c5e368433a1 (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.t16
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();