diff options
author | Dave Arter <davea@mysociety.org> | 2016-09-13 17:17:23 +0100 |
---|---|---|
committer | Dave Arter <davea@mysociety.org> | 2016-09-20 16:07:32 +0100 |
commit | 9bc2476861811163663b45cac41a2e91273576ed (patch) | |
tree | 26ada3a90213334dfbc1f5e6ef6e6d1e9a800878 /t/app | |
parent | b01df0c7609a1d6c008b943a9936d471cf0e0ce3 (diff) |
Add ‘trusted’ flag allowing users to make reports directly
When a trusted user makes a report in a category that requires inspection, it'll
be sent immediately (i.e. without being inspected first).
Diffstat (limited to 't/app')
-rw-r--r-- | t/app/controller/admin.t | 1 | ||||
-rw-r--r-- | t/app/sendreport/inspection_required.t | 20 |
2 files changed, 21 insertions, 0 deletions
diff --git a/t/app/controller/admin.t b/t/app/controller/admin.t index 8c3cde4b7..7ba84b652 100644 --- a/t/app/controller/admin.t +++ b/t/app/controller/admin.t @@ -1165,6 +1165,7 @@ my %default_perms = ( "permissions[template_edit]" => undef, "permissions[responsepriority_edit]" => undef, "permissions[category_edit]" => undef, + trusted_bodies => undef, ); FixMyStreet::override_config { diff --git a/t/app/sendreport/inspection_required.t b/t/app/sendreport/inspection_required.t index 178fa2a1f..88a48e991 100644 --- a/t/app/sendreport/inspection_required.t +++ b/t/app/sendreport/inspection_required.t @@ -52,8 +52,28 @@ subtest 'Report is sent when inspected' => sub { ok $report->whensent, 'Report marked as sent'; }; +subtest 'Uninspected report is sent when made by trusted user' => sub { + $mech->clear_emails_ok; + $report->unset_extra_metadata('inspected'); + $report->whensent( undef ); + $report->update; + + $user->user_body_permissions->find_or_create({ + body => $body, + permission_type => 'trusted', + }); + ok $user->has_permission_to('trusted', $report->bodies_str_ids), 'User can make trusted reports'; + + FixMyStreet::DB->resultset('Problem')->send_reports(); + + $report->discard_changes; + $mech->email_count_is( 1 ); + ok $report->whensent, 'Report marked as sent'; +}; + done_testing(); END { + $mech->delete_user($user); $mech->delete_body($body); } |