diff options
author | Dave Arter <davea@mysociety.org> | 2016-09-19 15:52:22 +0100 |
---|---|---|
committer | Dave Arter <davea@mysociety.org> | 2016-09-23 11:53:51 +0100 |
commit | 928d5335136e1da9c05ab3a9c746c9eec31b1272 (patch) | |
tree | 6b8099e74298a247ddab86f8327d5f11be7f3caa /t/app | |
parent | 49edaddb8f7e31b9c9846da585df6e48590b3dcd (diff) |
Send reports immediately from users with enough reputation
Diffstat (limited to 't/app')
-rw-r--r-- | t/app/sendreport/inspection_required.t | 32 |
1 files changed, 32 insertions, 0 deletions
diff --git a/t/app/sendreport/inspection_required.t b/t/app/sendreport/inspection_required.t index 88a48e991..f9d40d39f 100644 --- a/t/app/sendreport/inspection_required.t +++ b/t/app/sendreport/inspection_required.t @@ -69,6 +69,38 @@ subtest 'Uninspected report is sent when made by trusted user' => sub { $report->discard_changes; $mech->email_count_is( 1 ); ok $report->whensent, 'Report marked as sent'; + is $report->get_extra_metadata('inspected'), undef, 'Report not marked as inspected'; +}; + +subtest 'Uninspected report isn’t sent when user rep is too low' => sub { + $mech->clear_emails_ok; + $report->whensent( undef ); + $report->update; + + $user->user_body_permissions->delete; + $user->set_extra_metadata(reputation => 15); + $user->update; + + $contact->set_extra_metadata(reputation_threshold => 20); + $contact->update; + + FixMyStreet::DB->resultset('Problem')->send_reports(); + + $report->discard_changes; + $mech->email_count_is( 0 ); + is $report->whensent, undef, 'Report hasn’t been sent'; +}; + +subtest 'Uninspected report is sent when user rep is high enough' => sub { + $user->set_extra_metadata(reputation => 21); + $user->update; + + FixMyStreet::DB->resultset('Problem')->send_reports(); + + $report->discard_changes; + $mech->email_count_is( 1 ); + ok $report->whensent, 'Report marked as sent'; + is $report->get_extra_metadata('inspected'), undef, 'Report not marked as inspected'; }; done_testing(); |