diff options
-rw-r--r-- | perllib/FixMyStreet/Integrations/ExorRDI.pm | 5 | ||||
-rw-r--r-- | t/cobrand/oxfordshire.t | 23 |
2 files changed, 23 insertions, 5 deletions
diff --git a/perllib/FixMyStreet/Integrations/ExorRDI.pm b/perllib/FixMyStreet/Integrations/ExorRDI.pm index 87565767a..4ce888cff 100644 --- a/perllib/FixMyStreet/Integrations/ExorRDI.pm +++ b/perllib/FixMyStreet/Integrations/ExorRDI.pm @@ -139,11 +139,14 @@ sub construct { "","","","","" # empty fields ); + my $m_row_activity_code = $activity_code; + $m_row_activity_code .= 'I' if length $activity_code == 1; + $csv->add_row($body_by_activity_code{$activity_code}, "M", # bill of quantities record "resolve", # permanent repair "","", # empty fields - "/C$activity_code", # /C + activity code + "/C$m_row_activity_code", # /C + activity code + perhaps an "I" "", "" # empty fields ); } diff --git a/t/cobrand/oxfordshire.t b/t/cobrand/oxfordshire.t index c081f6cbf..89792765c 100644 --- a/t/cobrand/oxfordshire.t +++ b/t/cobrand/oxfordshire.t @@ -89,11 +89,20 @@ subtest 'Exor file looks okay' => sub { $dt->set_extra_metadata(activity_code => 'FC'); $dt->set_extra_metadata(defect_code => 'SFP1'); $dt->update; - my @problems = FixMyStreet::DB->resultset('Problem')->search({}, { rows => 2 })->all; + my $dt2 = FixMyStreet::DB->resultset('DefectType')->create({ + body => $oxon, + name => 'Accidental sign damage', + description => 'Accidental sign damage', + }); + $dt2->set_extra_metadata(activity_code => 'S'); + $dt2->set_extra_metadata(defect_code => 'ACC2'); + $dt2->update; + my @problems = FixMyStreet::DB->resultset('Problem')->search({}, { rows => 3 })->all; my $i = 123; foreach my $problem (@problems) { $problem->update({ state => 'action scheduled', external_id => $i }); $problem->update({ defect_type => $dt }) if $i == 123; + $problem->update({ defect_type => $dt2 }) if $i == 124; FixMyStreet::DB->resultset('AdminLog')->create({ admin_user => $inspector->name, user => $inspector, @@ -110,7 +119,7 @@ subtest 'Exor file looks okay' => sub { user_id => $inspector->id, } }, 'submit download'); (my $rdi = $mech->content) =~ s/\r\n/\n/g; - $rdi =~ s/(I,[FM]C,,)\d+/$1XXX/g; # Remove unique ID figures, unknown order + $rdi =~ s/(I,[FMS]C?,,)\d+/$1XXX/g; # Remove unique ID figures, unknown order is $rdi, <<EOF, "RDI file matches expected"; "1,1.8,1.0.0.0,ENHN," "G,1989169,,,XX,170505,1600,D,INS,N,,,," @@ -121,11 +130,17 @@ subtest 'Exor file looks okay' => sub { "P,0,999999" "G,1989169,,,XX,170505,1600,D,INS,N,,,," "H,MC" -"I,MC,,XXX,"434970E 209683N Nearest postcode: OX28 4DS.",1200,,,,,,,,"TM none","124 "" +"I,MC,,XXX,"434970E 209683N Nearest postcode: OX28 4DS.",1200,,,,,,,,"TM none","125 "" "J,SFP2,2,,,434970,209683,,,,," "M,resolve,,,/CMC,," "P,0,999999" -"X,2,2,2,2,0,0,0,2,0,2,0,0,0" +"G,1989169,,,XX,170505,1600,D,INS,N,,,," +"H,S" +"I,S,,XXX,"434970E 209683N Nearest postcode: OX28 4DS.",1200,,,,,,,,"TM none","124 "" +"J,ACC2,2,,,434970,209683,,,,," +"M,resolve,,,/CSI,," +"P,0,999999" +"X,3,3,3,3,0,0,0,3,0,3,0,0,0" EOF } }; |