diff options
-rw-r--r-- | perllib/Open311.pm | 2 | ||||
-rw-r--r-- | t/open311.t | 27 |
2 files changed, 28 insertions, 1 deletions
diff --git a/perllib/Open311.pm b/perllib/Open311.pm index 3be5ac365..94d81e479 100644 --- a/perllib/Open311.pm +++ b/perllib/Open311.pm @@ -108,7 +108,7 @@ sub _populate_service_request_params { $description = $problem->detail; } - my ( $firstname, $lastname ) = ( $problem->user->name =~ /(\w+)\.?\s+(.+)/ ); + my ( $firstname, $lastname ) = ( $problem->name =~ /(\w+)\.?\s+(.+)/ ); my $params = { email => $problem->user->email, diff --git a/t/open311.t b/t/open311.t index 6795b929c..48a122296 100644 --- a/t/open311.t +++ b/t/open311.t @@ -38,6 +38,7 @@ my $p = FixMyStreet::App->model('DB::Problem')->new( { detail => 'detail', user => $u, id => 1, + name => 'A User', } ); my $expected_error = qr{Failed to submit problem 1 over Open311}ism; @@ -61,6 +62,7 @@ my $problem = FixMyStreet::App->model('DB::Problem')->new( { latitude => 1, longitude => 2, user => $user, + name => 'Test User', } ); subtest 'posting service request' => sub { @@ -186,6 +188,31 @@ for my $test ( }; } +for my $test ( + { + title => 'Check uses report name over user name', + name => 'Nom de Report', + first_name => 'Nom', + last_name => 'de Report', + }, +) { + subtest $test->{desc} => sub { + $problem->extra( undef ); + $problem->name( $test->{name} ); + my $extra = { url => 'http://example.com/report/1', }; + + my $results = make_service_req( $problem, $extra, $problem->category, +'<?xml version="1.0" encoding="utf-8"?><service_requests><request><service_request_id>248</service_request_id></request></service_requests>' + ); + my $req = $o->test_req_used; + my $c = CGI::Simple->new( $results->{req}->content ); + + is $c->param( 'first_name' ), $test->{first_name}, 'correct first name'; + is $c->param( 'last_name' ), $test->{last_name}, 'correct last name'; + }; +} + + my $comment = FixMyStreet::App->model('DB::Comment')->new( { id => 38362, user => $user, |