diff options
-rw-r--r-- | perllib/Open311/GetServiceRequests.pm | 2 | ||||
-rw-r--r-- | t/open311/getservicerequests.t | 21 |
2 files changed, 22 insertions, 1 deletions
diff --git a/perllib/Open311/GetServiceRequests.pm b/perllib/Open311/GetServiceRequests.pm index 2d15347fd..2d20c6246 100644 --- a/perllib/Open311/GetServiceRequests.pm +++ b/perllib/Open311/GetServiceRequests.pm @@ -158,7 +158,7 @@ sub create_problems { { user => $self->system_user, external_id => $request_id, - detail => $request->{description}, + detail => $request->{description} || $request->{service_name} . ' problem', title => $request->{title} || $request->{service_name} . ' problem', anonymous => 0, name => $self->system_user->name, diff --git a/t/open311/getservicerequests.t b/t/open311/getservicerequests.t index 57f112e2f..0f87b4d5d 100644 --- a/t/open311/getservicerequests.t +++ b/t/open311/getservicerequests.t @@ -48,6 +48,20 @@ my $requests_xml = qq{<?xml version="1.0" encoding="utf-8"?> <lat>51.4021</lat> <long>0.01578</long> </request> +<request> +<service_request_id>638346</service_request_id> +<status>open</status> +<status_notes>This is a note.</status_notes> +<service_name>Sidewalk and Curb Issues</service_name> +<service_code>sidewalks</service_code> +<agency_responsible></agency_responsible> +<service_notice></service_notice> +<requested_datetime>2010-04-14T06:37:38-08:00</requested_datetime> +<updated_datetime>2010-04-14T06:37:38-08:00</updated_datetime> +<expected_datetime>2010-04-15T06:37:38-08:00</expected_datetime> +<lat>51.4021</lat> +<long>0.01578</long> +</request> </service_requests> }; @@ -104,6 +118,13 @@ subtest 'basic parsing checks' => sub { ok $p2->whensent, 'second problem marked sent'; is $p2->state, 'investigating', 'second problem correct state'; is $p2->category, 'Other', 'category falls back to Other'; + + my $p3 = FixMyStreet::DB->resultset('Problem')->search( { external_id => 638346 } )->first; + ok $p3, 'third problem found'; + ok $p3->whensent, 'third problem marked sent'; + is $p3->state, 'confirmed', 'second problem correct state'; + is $p3->category, 'Sidewalk and Curb Issues', 'correct problem category'; + is $p3->detail, 'Sidewalk and Curb Issues problem', 'problem detail based on category name'; }; subtest 'check problems not re-created' => sub { |