diff options
Diffstat (limited to 't')
-rw-r--r-- | t/app/controller/report_new.t | 13 | ||||
-rw-r--r-- | t/app/sendreport/email/highways.t | 32 |
2 files changed, 45 insertions, 0 deletions
diff --git a/t/app/controller/report_new.t b/t/app/controller/report_new.t index 6dce6711b..c2e731e61 100644 --- a/t/app/controller/report_new.t +++ b/t/app/controller/report_new.t @@ -41,6 +41,7 @@ for my $body ( { area_id => 2227, name => 'Hampshire County Council' }, { area_id => 2333, name => 'Hart Council' }, { area_id => 2535, name => 'Sandwell Borough Council' }, + { area_id => 1000, name => 'Highways England' }, ) { my $body_obj = $mech->create_body_ok($body->{area_id}, $body->{name}); push @bodies, $body_obj; @@ -98,6 +99,11 @@ my $contact10 = $mech->create_contact_ok( category => 'Street lighting', email => 'streetlights-2326@example.com', ); +my $contact11 = $mech->create_contact_ok( + body_id => $body_ids{1000}, # Highways + category => 'Pothole', + email => 'pothole-1000@example.com', +); # test that the various bit of form get filled in and errors correctly # generated. @@ -977,6 +983,13 @@ foreach my $test ( extra_fields => { do_not_send => 'Gloucestershire County Council' }, email_count => 1, }, + { + desc => "test single_body_only with Highways England", + category => 'Street lighting', + councils => [ 1000 ], + extra_fields => { single_body_only => 'Highways England' }, + email_count => 1, + }, ) { subtest $test->{desc} => sub { diff --git a/t/app/sendreport/email/highways.t b/t/app/sendreport/email/highways.t new file mode 100644 index 000000000..f53062336 --- /dev/null +++ b/t/app/sendreport/email/highways.t @@ -0,0 +1,32 @@ +use FixMyStreet::SendReport::Email::Highways; +use FixMyStreet::TestMech; + +my $mech = FixMyStreet::TestMech->new; + +my $bromley = $mech->create_body_ok(2482, 'Bromley Council'); +my $highways = $mech->create_body_ok(2482, 'Highways England'); + +$mech->create_contact_ok(email => 'council@example.com', body_id => $bromley->id, category => 'Graffiti'); +$mech->create_contact_ok(email => 'council@example.com', body_id => $bromley->id, category => 'Faulty street light'); +$mech->create_contact_ok(email => 'highways@example.com', body_id => $highways->id, category => 'Pothole'); + +my $row = FixMyStreet::DB->resultset('Problem')->new( { + bodies_str => '1000', + category => 'Pothole', + cobrand => '', +} ); + +my $e = FixMyStreet::SendReport::Email::Highways->new; +is $e->build_recipient_list($row), undef, 'no recipients if no body'; + +$e = FixMyStreet::SendReport::Email::Highways->new; +$e->add_body($bromley); +is $e->build_recipient_list($row), undef, 'no recipients if category missing'; + +$e = FixMyStreet::SendReport::Email::Highways->new; +$e->add_body($highways); +is $e->build_recipient_list($row), 1, 'correct recipient list count'; +is_deeply $e->to, [ [ 'highways@example.com', 'Highways England' ] ], 'correct To line'; + +done_testing(); + |