diff options
author | Marius Halden <marius.h@lden.org> | 2018-06-07 13:28:45 +0200 |
---|---|---|
committer | Marius Halden <marius.h@lden.org> | 2018-06-07 13:28:45 +0200 |
commit | 956f8b8a065824f9a9dc379eba1d0aa8b1b669cf (patch) | |
tree | 49f9ccb147b18dddee97500d4df7a3fb3dd3737c /t/app/script/archive_old_enquiries.t | |
parent | 782457d016084c8de04989dbc824a71899f8b41b (diff) | |
parent | 4dbf5371f79c5f290c08e561ba2c881e96b58669 (diff) |
Merge tag 'v2.3.3' into fiksgatami-dev
Diffstat (limited to 't/app/script/archive_old_enquiries.t')
-rw-r--r-- | t/app/script/archive_old_enquiries.t | 51 |
1 files changed, 46 insertions, 5 deletions
diff --git a/t/app/script/archive_old_enquiries.t b/t/app/script/archive_old_enquiries.t index e1adeec85..9774d3fc3 100644 --- a/t/app/script/archive_old_enquiries.t +++ b/t/app/script/archive_old_enquiries.t @@ -5,15 +5,18 @@ my $mech = FixMyStreet::TestMech->new(); $mech->clear_emails_ok; -my $opts = { - commit => 1, -}; - my $user = $mech->create_user_ok('test@example.com', name => 'Test User'); my $oxfordshire = $mech->create_body_ok(2237, 'Oxfordshire County Council'); my $west_oxon = $mech->create_body_ok(2420, 'West Oxfordshire District Council'); -$opts->{body} = $oxfordshire->id; +my $opts = { + commit => 1, + body => $oxfordshire->id, + cobrand => 'oxfordshire', + closure_cutoff => "2015-01-01 00:00:00", + email_cutoff => "2016-01-01 00:00:00", + user => $user->id, +}; subtest 'sets reports to the correct status' => sub { FixMyStreet::override_config { @@ -65,10 +68,48 @@ subtest 'sets reports to the correct status' => sub { is $report4->state, 'closed', 'Report 4 has been set to closed'; is $report5->state, 'closed', 'Report 5 has been set to closed'; + my $comment = $report1->comments->first; + is $comment->problem_state, 'closed'; + is $report->state, 'confirmed', 'Recent report has been left alone'; }; }; +subtest 'marks alerts as sent' => sub { + FixMyStreet::override_config { + ALLOWED_COBRANDS => [ 'oxfordshire' ], + }, sub { + my ($report) = $mech->create_problems_for_body(1, $oxfordshire->id, 'Test', { + areas => ',2237,', + lastupdate => '2015-12-01 07:00:00', + user_id => $user->id, + }); + my $alert = FixMyStreet::DB->resultset('Alert')->find_or_create( + { + user => $user, + parameter => $report->id, + alert_type => 'new_updates', + whensubscribed => '2015-12-01 07:00:00', + confirmed => 1, + cobrand => 'default', + } + ); + is $alert->alerts_sent->count, 0, 'Nothing has been sent for this alert'; + + FixMyStreet::Script::ArchiveOldEnquiries::archive($opts); + + $report->discard_changes; + + is $report->state, 'closed', 'Report has been set to closed'; + + is $alert->alerts_sent->count, 1, 'Alert marked as sent for this report'; + + my $alert_sent = $alert->alerts_sent->first; + my $comment = $report->comments->first; + is $alert_sent->parameter, $comment->id, 'AlertSent created for new comment'; + }; +}; + subtest 'sends emails to a user' => sub { FixMyStreet::override_config { ALLOWED_COBRANDS => [ 'oxfordshire' ], |