diff options
author | Dave Arter <davea@mysociety.org> | 2018-10-25 13:03:22 +0100 |
---|---|---|
committer | Dave Arter <davea@mysociety.org> | 2018-10-26 09:53:44 +0100 |
commit | 0b127a05a982eca9de214ce2d524b244e8c934ec (patch) | |
tree | 7c59fb0e8142f7410cedb28aa2b7d6ff9461fbb6 /t/app/controller/questionnaire.t | |
parent | d20ccf50a1cd7f844316d3db8809db74d813152b (diff) |
Don’t send questionnaires for closed reports.
Fixes mysociety/fixmystreet-freshdesk#24.
Diffstat (limited to 't/app/controller/questionnaire.t')
-rw-r--r-- | t/app/controller/questionnaire.t | 20 |
1 files changed, 20 insertions, 0 deletions
diff --git a/t/app/controller/questionnaire.t b/t/app/controller/questionnaire.t index bfc61ae17..05aed7262 100644 --- a/t/app/controller/questionnaire.t +++ b/t/app/controller/questionnaire.t @@ -40,6 +40,26 @@ my $report = FixMyStreet::App->model('DB::Problem')->find_or_create( my $report_id = $report->id; ok $report, "created test report - $report_id"; +# Make sure questionnaires aren't sent if the report is closed. +foreach my $state ( + 'closed', 'duplicate', 'not responsible', 'unable to fix', 'internal referral' +) { + subtest "questionnaire not sent for $state state" => sub { + $report->update( { send_questionnaire => 1, state => $state } ); + $report->questionnaires->delete; + FixMyStreet::App->model('DB::Questionnaire')->send_questionnaires( { + site => 'fixmystreet' + } ); + + $mech->email_count_is(0); + + $report->discard_changes; + is $report->send_questionnaire, 0; + } +} +$report->update( { send_questionnaire => 1, state => 'confirmed' } ); +$report->questionnaires->delete; + # Call the questionaire sending function... FixMyStreet::App->model('DB::Questionnaire')->send_questionnaires( { site => 'fixmystreet' |