diff options
Diffstat (limited to 't/app/controller')
-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' |