aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--perllib/FixMyStreet/Cobrand/Peterborough.pm22
-rw-r--r--t/cobrand/peterborough.t22
2 files changed, 43 insertions, 1 deletions
diff --git a/perllib/FixMyStreet/Cobrand/Peterborough.pm b/perllib/FixMyStreet/Cobrand/Peterborough.pm
index cb7da18af..16c3a01e4 100644
--- a/perllib/FixMyStreet/Cobrand/Peterborough.pm
+++ b/perllib/FixMyStreet/Cobrand/Peterborough.pm
@@ -98,4 +98,26 @@ around 'open311_config' => sub {
$self->$orig($row, $h, $params);
};
+sub dashboard_export_problems_add_columns {
+ my ($self, $csv) = @_;
+
+ $csv->add_csv_columns(
+ usrn => 'USRN',
+ nearest_address => 'Nearest address',
+ );
+
+ $csv->csv_extra_data(sub {
+ my $report = shift;
+
+ my $address = '';
+ $address = $report->geocode->{resourceSets}->[0]->{resources}->[0]->{name}
+ if $report->geocode;
+
+ return {
+ usrn => $report->get_extra_field_value('site_code'),
+ nearest_address => $address,
+ };
+ });
+}
+
1;
diff --git a/t/cobrand/peterborough.t b/t/cobrand/peterborough.t
index 5b461d4f2..f7e45f190 100644
--- a/t/cobrand/peterborough.t
+++ b/t/cobrand/peterborough.t
@@ -117,13 +117,19 @@ subtest "extra bartec params are sent to open311" => sub {
geocode => {
resourceSets => [ {
resources => [ {
+ name => '12 A Street, XX1 1SZ',
address => {
addressLine => '12 A Street',
postalCode => 'XX1 1XZ'
}
} ]
} ]
- }
+ },
+ extra => {
+ _fields => [
+ { name => 'site_code', value => '12345', },
+ ],
+ },
} );
my $test_data = FixMyStreet::Script::Reports::send();
@@ -139,5 +145,19 @@ subtest "extra bartec params are sent to open311" => sub {
};
};
+subtest 'Dashboard CSV extra columns' => sub {
+ my $staffuser = $mech->create_user_ok('counciluser@example.com', name => 'Council User',
+ from_body => $peterborough, password => 'password');
+ $mech->log_in_ok( $staffuser->email );
+ FixMyStreet::override_config {
+ MAPIT_URL => 'http://mapit.uk/',
+ ALLOWED_COBRANDS => 'peterborough',
+ }, sub {
+ $mech->get_ok('/dashboard?export=1');
+ };
+ $mech->content_contains('"Reported As",USRN,"Nearest address"');
+ $mech->content_contains('peterborough,,12345,"12 A Street, XX1 1SZ"');
+};
+
done_testing;