diff options
author | Struan Donald <struan@exo.org.uk> | 2011-11-30 12:15:07 +0000 |
---|---|---|
committer | Struan Donald <struan@exo.org.uk> | 2011-11-30 12:15:07 +0000 |
commit | 783601d101ad0ff356921c2f3af0e8b3b9d6e24e (patch) | |
tree | b1f1b45312a7cb6d1d8ce53d66de1a2f02c93b1f | |
parent | 9bbfba9902640172ca9f6fedd762d6e9e5be8a22 (diff) |
tests for postcode in alert emails
-rw-r--r-- | t/app/model/alert_type.t | 69 |
1 files changed, 69 insertions, 0 deletions
diff --git a/t/app/model/alert_type.t b/t/app/model/alert_type.t index c7bfe171c..e88aeea5f 100644 --- a/t/app/model/alert_type.t +++ b/t/app/model/alert_type.t @@ -140,5 +140,74 @@ for my $test ( }; } +my $now = DateTime->now(); +$report->confirmed( $now->ymd . ' ' . $now->hms ); +$report->update(); + +my $council_alert = FixMyStreet::App->model('DB::Alert')->find_or_create( + { + user => $user2, + parameter => 2504, + parameter2 => 2504, + alert_type => 'council_problems', + whensubscribed => $dt->ymd . ' ' . $dt->hms, + confirmed => 1, + } +); + +for my $test ( + { + postcode => 'SW1A 1AA', + expected_postcode => 'SW1A 1AA', + }, + { + postcode => 'sw1a 1AA', + expected_postcode => 'SW1A 1AA', + }, + { + postcode => 'SW1A 1aa', + expected_postcode => 'SW1A 1AA', + }, + { + postcode => 'SW1A1AA', + expected_postcode => 'SW1A 1AA', + }, + { + postcode => 'Buckingham Gate', + expected_postcode => 'Buckingham Gate', + }, + { + postcode => 'Buckingham gate', + expected_postcode => 'Buckingham gate', + }, +) { + subtest "correct text for postcode $test->{postcode}" => sub { + $mech->clear_emails_ok; + + my $sent = FixMyStreet::App->model('DB::AlertSent')->search( + { + alert_id => $council_alert->id, + parameter => $report->id, + } + )->delete; + + $report->postcode( $test->{postcode} ); + $report->update; + + FixMyStreet::App->model('DB::AlertType')->email_alerts(); + + $mech->email_count_is( 1 ); + my $email = $mech->get_email; + my $pc = $test->{expected_postcode}; + my $title = $report->title; + my $body = $email->body; + + like $body, qr#report/$report_id - $title, $pc#, 'email contains expected postcode'; + }; +} + +$report->postcode( 'SW1A 1AA' ); +$report->update; + done_testing(); |