diff options
author | Dave Arter <davea@mysociety.org> | 2017-11-22 10:43:25 +0000 |
---|---|---|
committer | Dave Arter <davea@mysociety.org> | 2017-11-22 15:05:57 +0000 |
commit | 1986cacd1518b876d11df31cde60b896d91a80cb (patch) | |
tree | 205e4e01a5b95a3ce9ef63d6213783ecb603cff1 /t/app/controller | |
parent | e850d759a32c6276698507c608c2f83c718dc039 (diff) |
Allow cobrands to disable moderation emails
This adds a new send_moderation_notifications method which can be overridden
by cobrands to prevent “your report has been moderated” emails from being sent.
Fixes mysociety/fixmystreet-commercial#936
Diffstat (limited to 't/app/controller')
-rw-r--r-- | t/app/controller/moderate.t | 32 |
1 files changed, 32 insertions, 0 deletions
diff --git a/t/app/controller/moderate.t b/t/app/controller/moderate.t index c31f4880f..4b2f0cfe3 100644 --- a/t/app/controller/moderate.t +++ b/t/app/controller/moderate.t @@ -1,3 +1,11 @@ +package FixMyStreet::Cobrand::Tester; + +use parent 'FixMyStreet::Cobrand::Default'; + +sub send_moderation_notifications { 0 } + +package main; + use FixMyStreet::TestMech; use FixMyStreet::App; use Data::Dumper; @@ -176,6 +184,30 @@ subtest 'Problem moderation' => sub { # reset $report->update({ state => 'confirmed' }); }; + + subtest 'Hide report without sending email' => sub { + FixMyStreet::override_config { + ALLOWED_COBRANDS => [ { 'tester' => '.' } ] + }, sub { + + $mech->clear_emails_ok; + + $mech->get_ok($REPORT_URL); + $mech->submit_form_ok({ with_fields => { + %problem_prepopulated, + problem_hide => 1, + }}); + $mech->base_unlike( qr{/report/}, 'redirected to front page' ); + + $report->discard_changes; + is $report->state, 'hidden', 'Is hidden'; + + ok $mech->email_count_is(0), "Email wasn't sent"; + + # reset + $report->update({ state => 'confirmed' }); + } + }; }; $mech->content_lacks('Posted anonymously', 'sanity check'); |