diff options
-rw-r--r-- | .travis.yml | 6 | ||||
-rw-r--r-- | perllib/FixMyStreet/Cobrand/Bristol.pm | 2 | ||||
-rw-r--r-- | t/Mock/MapIt.pm | 1 | ||||
-rw-r--r-- | t/cobrand/bristol.t | 44 |
4 files changed, 49 insertions, 4 deletions
diff --git a/.travis.yml b/.travis.yml index 6ecd026f5..de9603218 100644 --- a/.travis.yml +++ b/.travis.yml @@ -37,11 +37,11 @@ addons: install: - .travis/install - - 'if [ "$TRAVIS_PERL_VERSION" = "5.14" ]; then cpanm --quiet --notest Devel::Cover::Report::Codecov; fi' + - 'if [ "$TRAVIS_PERL_VERSION" = "5.24" ]; then cpanm --quiet --notest Devel::Cover::Report::Codecov; fi' before_script: - commonlib/bin/gettext-makemo FixMyStreet - - 'if [ "$TRAVIS_PERL_VERSION" = "5.14" ]; then export HARNESS_PERL_SWITCHES="-MDevel::Cover=+ignore,local/lib/perl5,commonlib,perllib/Catalyst,perllib/DBIx,perllib/Email,perllib/Template,^t"; fi' + - 'if [ "$TRAVIS_PERL_VERSION" = "5.24" ]; then export HARNESS_PERL_SWITCHES="-MDevel::Cover=+ignore,local/lib/perl5,commonlib,perllib/Catalyst,perllib/DBIx,perllib/Email,perllib/Template,^t"; fi' script: "script/test --jobs 3 t" after_success: - .travis/after_script - - 'if [ "$TRAVIS_PERL_VERSION" = "5.14" ]; then cover --report codecov; fi' + - 'if [ "$TRAVIS_PERL_VERSION" = "5.24" ]; then cover --report codecov; fi' diff --git a/perllib/FixMyStreet/Cobrand/Bristol.pm b/perllib/FixMyStreet/Cobrand/Bristol.pm index 2876ff782..b11a52643 100644 --- a/perllib/FixMyStreet/Cobrand/Bristol.pm +++ b/perllib/FixMyStreet/Cobrand/Bristol.pm @@ -68,7 +68,7 @@ sub categories_restriction { # cobrand, not the email categories from FMS.com. We've set up the # Email categories with a devolved send_method, so can identify Open311 # categories as those which have a blank send_method. - return $rs->search( { send_method => undef } ); + return $rs->search( { 'me.send_method' => undef } ); } 1; diff --git a/t/Mock/MapIt.pm b/t/Mock/MapIt.pm index 24e7a8084..ad1d0c99c 100644 --- a/t/Mock/MapIt.pm +++ b/t/Mock/MapIt.pm @@ -24,6 +24,7 @@ sub output { my @PLACES = ( [ 'EH1 1BB', 55.952055, -3.189579, 2651, 'Edinburgh City Council', 'UTA', 20728, 'City Centre', 'UTE' ], + [ 'BS10 5EE', 51.494885, -2.602237, 2561, 'Bristol City Council', 'UTA', 148646, 'Bedminster', 'UTW' ], [ 'SW1A 1AA', 51.501009, -0.141588, 2504, 'Westminster City Council', 'LBO' ], [ 'GL50 2PR', 51.896268, -2.093063, 2226, 'Gloucestershire County Council', 'CTY', 2326, 'Cheltenham Borough Council', 'DIS', 4544, 'Lansdown', 'DIW', 143641, 'Lansdown and Park', 'CED' ], [ '?', 51.754926, -1.256179, 2237, 'Oxfordshire County Council', 'CTY', 2421, 'Oxford City Council', 'DIS' ], diff --git a/t/cobrand/bristol.t b/t/cobrand/bristol.t new file mode 100644 index 000000000..b4b6ed4ac --- /dev/null +++ b/t/cobrand/bristol.t @@ -0,0 +1,44 @@ +use FixMyStreet::TestMech; +my $mech = FixMyStreet::TestMech->new; + +# Create test data +my $body = $mech->create_body_ok( 2561, 'Bristol County Council', { + send_method => 'Open311', + can_be_devolved => 1 +}); + +my $open311_contact = $mech->create_contact_ok( + body_id => $body->id, + category => 'Street Lighting', + email => 'LIGHT', +); +my $email_contact = $mech->create_contact_ok( + body_id => $body->id, + category => 'Potholes', + email => 'potholes@example.org', + send_method => 'Email' +); + +subtest 'Only Open311 categories are shown on Bristol cobrand', sub { + FixMyStreet::override_config { + ALLOWED_COBRANDS => [ 'bristol' ], + MAPIT_URL => 'http://mapit.uk/', + }, sub { + $mech->get_ok("/report/new/ajax?latitude=51.494885&longitude=-2.602237"); + $mech->content_contains($open311_contact->category); + $mech->content_lacks($email_contact->category); + }; +}; + +subtest 'All categories are shown on FMS cobrand', sub { + FixMyStreet::override_config { + ALLOWED_COBRANDS => [ 'fixmystreet' ], + MAPIT_URL => 'http://mapit.uk/', + }, sub { + $mech->get_ok("/report/new/ajax?latitude=51.494885&longitude=-2.602237"); + $mech->content_contains($open311_contact->category); + $mech->content_contains($email_contact->category); + }; +}; + +done_testing(); |