From 1986cacd1518b876d11df31cde60b896d91a80cb Mon Sep 17 00:00:00 2001 From: Dave Arter Date: Wed, 22 Nov 2017 10:43:25 +0000 Subject: Allow cobrands to disable moderation emails MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit 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 --- t/app/controller/moderate.t | 32 ++++++++++++++++++++++++++++++++ 1 file changed, 32 insertions(+) (limited to 't/app/controller/moderate.t') 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'); -- cgit v1.2.3