diff options
-rw-r--r-- | perllib/FixMyStreet/Cobrand/Hounslow.pm | 9 | ||||
-rw-r--r-- | t/cobrand/hounslow.t | 44 |
2 files changed, 53 insertions, 0 deletions
diff --git a/perllib/FixMyStreet/Cobrand/Hounslow.pm b/perllib/FixMyStreet/Cobrand/Hounslow.pm index ab61c0203..491384847 100644 --- a/perllib/FixMyStreet/Cobrand/Hounslow.pm +++ b/perllib/FixMyStreet/Cobrand/Hounslow.pm @@ -189,4 +189,13 @@ sub lookup_site_code_config { { accept_feature => sub { 1 } } } +# Hounslow don't want any reports made before their go-live date visible on +# their cobrand at all. +sub problems_restriction { + my ($self, $rs) = @_; + return $rs->to_body($self->body)->search({ + 'me.confirmed' => { '>=', '2019-05-06' } + }); +} + 1; diff --git a/t/cobrand/hounslow.t b/t/cobrand/hounslow.t new file mode 100644 index 000000000..5d9f022e7 --- /dev/null +++ b/t/cobrand/hounslow.t @@ -0,0 +1,44 @@ +use FixMyStreet::TestMech; + +ok( my $mech = FixMyStreet::TestMech->new, 'Created mech object' ); + +my $hounslow_id = $mech->create_body_ok(2483, 'Hounslow Borough Council')->id; + +$mech->create_problems_for_body(1, $hounslow_id, 'An old problem made before Hounslow FMS launched', { + confirmed => '2018-12-25 09:00', + lastupdate => '2018-12-25 09:00', +}); +$mech->create_problems_for_body(1, $hounslow_id, 'A brand new problem made on the Hounslow site', { + cobrand => 'hounslow' +}); +$mech->create_problems_for_body(1, $hounslow_id, 'A brand new problem made on fixmystreet.com', { + cobrand => 'fixmystreet' +}); + +subtest "it still shows old reports on fixmystreet.com" => sub { + FixMyStreet::override_config { + MAPIT_URL => 'http://mapit.uk/', + ALLOWED_COBRANDS => 'fixmystreet', + }, sub { + $mech->get_ok('/reports/Hounslow'); + + $mech->content_contains('An old problem made before Hounslow FMS launched'); + $mech->content_contains('A brand new problem made on the Hounslow site'); + $mech->content_contains('A brand new problem made on fixmystreet.com'); + }; +}; + +subtest "it does not show old reports on Hounslow" => sub { + FixMyStreet::override_config { + MAPIT_URL => 'http://mapit.uk/', + ALLOWED_COBRANDS => 'hounslow', + }, sub { + $mech->get_ok('/reports/Hounslow'); + + $mech->content_lacks('An old problem made before Hounslow FMS launched'); + $mech->content_contains('A brand new problem made on the Hounslow site') or diag $mech->content; + $mech->content_contains('A brand new problem made on fixmystreet.com'); + }; +}; + +done_testing(); |