diff options
Diffstat (limited to 't/cobrand/bexley.t')
-rw-r--r-- | t/cobrand/bexley.t | 53 |
1 files changed, 36 insertions, 17 deletions
diff --git a/t/cobrand/bexley.t b/t/cobrand/bexley.t index d9b41f3b1..d7e996e0d 100644 --- a/t/cobrand/bexley.t +++ b/t/cobrand/bexley.t @@ -35,9 +35,10 @@ my $mech = FixMyStreet::TestMech->new; my $body = $mech->create_body_ok(2494, 'London Borough of Bexley', { send_method => 'Open311', api_key => 'key', 'endpoint' => 'e', 'jurisdiction' => 'j' }); $mech->create_contact_ok(body_id => $body->id, category => 'Abandoned and untaxed vehicles', email => "ABAN"); -$mech->create_contact_ok(body_id => $body->id, category => 'Lamp post', email => "LAMP"); -$mech->create_contact_ok(body_id => $body->id, category => 'Parks and open spaces', email => "ConfirmPARK"); -$mech->create_contact_ok(body_id => $body->id, category => 'Flooding in the road', email => "FLOD"); +$mech->create_contact_ok(body_id => $body->id, category => 'Lamp post', email => "StreetLightingLAMP"); +$mech->create_contact_ok(body_id => $body->id, category => 'Gulley covers', email => "GULL"); +$mech->create_contact_ok(body_id => $body->id, category => 'Damaged road', email => "ROAD"); +$mech->create_contact_ok(body_id => $body->id, category => 'Flooding in the road', email => "ConfirmFLOD"); $mech->create_contact_ok(body_id => $body->id, category => 'Flytipping', email => "UniformFLY"); $mech->create_contact_ok(body_id => $body->id, category => 'Dead animal', email => "ANIM"); my $category = $mech->create_contact_ok(body_id => $body->id, category => 'Something dangerous', email => "DANG"); @@ -79,23 +80,22 @@ FixMyStreet::override_config { extra => { 'name' => 'dangerous', description => 'Was it dangerous?', 'value' => 'Yes' } }, { category => 'Something dangerous', code => 'DANG', extra => { 'name' => 'dangerous', description => 'Was it dangerous?', 'value' => 'No' } }, - { category => 'Parks and open spaces', email => ['p1'], code => 'ConfirmPARK', - extra => { 'name' => 'reportType', description => 'Type of report', 'value' => 'Wild animal' } }, - { category => 'Parks and open spaces', code => 'ConfirmPARK', - extra => { 'name' => 'reportType', description => 'Type of report', 'value' => 'Maintenance' } }, - { category => 'Parks and open spaces', code => 'ConfirmPARK', + { category => 'Gulley covers', email => ['p1'], code => 'GULL', + extra => { 'name' => 'reportType', description => 'Type of report', 'value' => 'Cover missing' } }, + { category => 'Gulley covers', code => 'GULL', + extra => { 'name' => 'reportType', description => 'Type of report', 'value' => 'Cover damaged' } }, + { category => 'Gulley covers', email => ['p1'], code => 'GULL', extra => { 'name' => 'dangerous', description => 'Was it dangerous?', 'value' => 'Yes' } }, - { category => 'Parks and open spaces', email => ['p1'], code => 'ConfirmPARK', - extra => [ - { 'name' => 'dangerous', description => 'Was it dangerous?', 'value' => 'Yes' }, - { 'name' => 'reportType', description => 'Type of report', 'value' => 'Vandalism' }, - ] }, - { category => 'Lamp post', code => 'LAMP', email => ['thirdparty', 'another'], + { category => 'Damaged road', code => 'ROAD', email => ['p1'], extra => { 'name' => 'dangerous', description => 'Was it dangerous?', 'value' => 'No' } }, - { category => 'Lamp post', code => 'LAMP', email => ['thirdparty', 'another'], + { category => 'Damaged road', code => 'ROAD', email => ['p1'], + extra => { 'name' => 'dangerous', description => 'Was it dangerous?', 'value' => 'Yes' } }, + { category => 'Lamp post', code => 'StreetLightingLAMP', email => ['thirdparty', 'another'], + extra => { 'name' => 'dangerous', description => 'Was it dangerous?', 'value' => 'No' } }, + { category => 'Lamp post', code => 'StreetLightingLAMP', email => ['thirdparty', 'another'], extra => { 'name' => 'dangerous', description => 'Was it dangerous?', 'value' => 'Yes' } }, { category => 'Flytipping', code => 'UniformFLY', email => ['eh'] }, - { category => 'Flooding in the road', code => 'FLOD', email => ['flooding'] }, + { category => 'Flooding in the road', code => 'ConfirmFLOD', email => ['flooding'] }, ) { ($report) = $mech->create_problems_for_body(1, $body->id, 'On Road', { category => $test->{category}, cobrand => 'bexley', @@ -146,6 +146,25 @@ FixMyStreet::override_config { $mech->content_lacks('Resend report'); }; + subtest "resending of reports by changing category" => sub { + $mech->get_ok('/admin/report_edit/' . $report->id); + $mech->submit_form_ok({ with_fields => { category => 'Damaged road' } }); + my $test_data = FixMyStreet::Script::Reports::send(); + my $req = $test_data->{test_req_used}; + my $c = CGI::Simple->new($req->content); + is $c->param('service_code'), 'ROAD', 'Report resent in new category'; + + $mech->submit_form_ok({ with_fields => { category => 'Gulley covers' } }); + $test_data = FixMyStreet::Script::Reports::send(); + is $test_data, undef, 'Report not resent'; + + $mech->submit_form_ok({ with_fields => { category => 'Lamp post' } }); + $test_data = FixMyStreet::Script::Reports::send(); + $req = $test_data->{test_req_used}; + $c = CGI::Simple->new($req->content); + is $c->param('service_code'), 'StreetLightingLAMP', 'Report resent'; + }; + subtest 'extra CSV column present' => sub { $mech->get_ok('/dashboard?export=1'); $mech->content_contains(',Category,Subcategory,'); @@ -155,7 +174,7 @@ FixMyStreet::override_config { subtest 'testing special Open311 behaviour', sub { my @reports = $mech->create_problems_for_body( 1, $body->id, 'Test', { - category => 'Parks and open spaces', cobrand => 'bexley', + category => 'Flooding in the road', cobrand => 'bexley', latitude => 51.408484, longitude => 0.074653, areas => '2494', photo => '74e3362283b6ef0c48686fb0e161da4043bbcc97.jpeg,74e3362283b6ef0c48686fb0e161da4043bbcc97.jpeg', }); |