aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--perllib/FixMyStreet/App/Controller/Admin/AreaStats.pm7
-rw-r--r--t/app/controller/area_stats.t12
-rw-r--r--templates/web/base/admin/areastats/area.html2
3 files changed, 19 insertions, 2 deletions
diff --git a/perllib/FixMyStreet/App/Controller/Admin/AreaStats.pm b/perllib/FixMyStreet/App/Controller/Admin/AreaStats.pm
index 2357e0025..2058ea872 100644
--- a/perllib/FixMyStreet/App/Controller/Admin/AreaStats.pm
+++ b/perllib/FixMyStreet/App/Controller/Admin/AreaStats.pm
@@ -207,7 +207,12 @@ sub stats : Private {
join => 'problem'
}
)->first;
- $c->stash->{average} = int( ($comments->get_column('time')||0)/ 60 / 60 / 24 + 0.5 );
+ my $raw_average = $comments->get_column('time');
+ if (defined $raw_average) {
+ $c->stash->{average} = int( $raw_average / 60 / 60 / 24 + 0.5 );
+ } else {
+ $c->stash->{average} = -1;
+ }
}
sub load_user_body : Private {
diff --git a/t/app/controller/area_stats.t b/t/app/controller/area_stats.t
index 36e532c0e..ce2e3d7d6 100644
--- a/t/app/controller/area_stats.t
+++ b/t/app/controller/area_stats.t
@@ -98,6 +98,8 @@ FixMyStreet::override_config {
$mech->text_contains('Potholes6');
$mech->text_contains('Traffic lights13');
+
+ $mech->text_contains('average time between issue being opened and set to another status was 0 days');
};
subtest 'shows correct stats to area user' => sub {
@@ -212,6 +214,16 @@ FixMyStreet::override_config {
$mech->get_ok("/admin/areastats/$body_id?area=20720");
$mech->text_contains('average time between issue being opened and set to another status was 4 days');
};
+
+ subtest 'shows no problems changed state if no average' => sub {
+ for my $p (@scheduled_problems, @fixed_problems, @closed_problems) {
+ $p->comments->delete;
+ }
+
+ $mech->get_ok("/admin/areastats/$body_id?area=20720");
+ $mech->text_contains('17 opened, 0 scheduled, 0 closed, 0 fixed');
+ $mech->text_contains('no problems changed state');
+ }
};
END {
diff --git a/templates/web/base/admin/areastats/area.html b/templates/web/base/admin/areastats/area.html
index 1b88b5885..a7330692d 100644
--- a/templates/web/base/admin/areastats/area.html
+++ b/templates/web/base/admin/areastats/area.html
@@ -47,7 +47,7 @@
[% END %]
</table>
-[% IF average > 0 %]
+[% IF average >= 0 %]
<p>[% tprintf(loc('In the last month – average time between issue being opened and set to another status was %s days'), average) %]</p>
[% ELSE %]
<p>[% loc('In the last month no problems changed state') %]</p>