aboutsummaryrefslogtreecommitdiffstats
path: root/t/app/controller/report_new.t
diff options
context:
space:
mode:
authorDave Arter <davea@mysociety.org>2016-04-12 11:54:55 +0100
committerDave Arter <davea@mysociety.org>2016-07-08 15:28:21 +0100
commit7f7e030db5f676e8a89abde5f62f84f084609381 (patch)
tree37b4712d4e67391985e391214e479c3233eb0703 /t/app/controller/report_new.t
parenta145cd1dd0613cc141e541dfc9a3c9a1756161f5 (diff)
Refactor sending of problem confirmation email
Replaced duplicate code blocks that are responsible for sending confirmation of problem email with a function. Should make it easier to do two-tier conditional messages later on. Also fixes a minor bug where the wrong confirmation email would be sent for reports from the mobile app to unresponsive councils.
Diffstat (limited to 't/app/controller/report_new.t')
-rw-r--r--t/app/controller/report_new.t38
1 files changed, 38 insertions, 0 deletions
diff --git a/t/app/controller/report_new.t b/t/app/controller/report_new.t
index ba550193e..94d34a93d 100644
--- a/t/app/controller/report_new.t
+++ b/t/app/controller/report_new.t
@@ -1542,6 +1542,44 @@ subtest "unresponsive body handling works" => sub {
like $email->body, qr/despite not being sent/i, "correct email sent";
$user->problems->delete;
+ $mech->clear_emails_ok;
+
+ # Make sure the same behaviour occurs for reports from the mobile app
+ $mech->log_out_ok;
+ $mech->post_ok( '/report/new/mobile', {
+ title => "Test Report at café",
+ detail => 'Test report details.',
+ photo1 => '',
+ name => 'Joe Bloggs',
+ email => $test_email,
+ may_show_name => '1',
+ phone => '07903 123 456',
+ category => 'Trees',
+ service => 'iOS',
+ lat => 55.9,
+ lon => -3.2,
+ pc => '',
+ used_map => '1',
+ submit_register => '1',
+ password_register => '',
+ });
+ my $res = $mech->response;
+ ok $res->header('Content-Type') =~ m{^application/json\b}, 'response should be json';
+
+ $user = FixMyStreet::App->model('DB::User')->find( { email => $test_email } );
+ ok $user, "test user does exist";
+
+ $report = $user->problems->first;
+ ok $report, "Found the report";
+ is $report->bodies_str, undef, "Report not going anywhere";
+
+ $email = $mech->get_email;
+ ok $email, "got an email";
+ like $email->body, qr/despite not being sent/i, "correct email sent";
+
+ $user->problems->delete;
+ $mech->clear_emails_ok;
+
$contact1->body->update( { send_method => $old_send } );
# And test per-category refusing