diff options
-rw-r--r-- | perllib/FixMyStreet/Cobrand/Peterborough.pm | 22 | ||||
-rw-r--r-- | t/cobrand/peterborough.t | 22 |
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; |