diff options
Diffstat (limited to 't/open311/populate-service-list.t')
-rw-r--r-- | t/open311/populate-service-list.t | 49 |
1 files changed, 3 insertions, 46 deletions
diff --git a/t/open311/populate-service-list.t b/t/open311/populate-service-list.t index 3d3144d1f..75c468666 100644 --- a/t/open311/populate-service-list.t +++ b/t/open311/populate-service-list.t @@ -81,7 +81,6 @@ my $last_update = {}; for my $test ( { desc => 'set multiple groups for contact', enable_multi => 1, groups => ['sanitation', 'street'] }, { desc => 'groups not edited if unchanged', enable_multi => 1, groups => ['sanitation', 'street'], unchanged => 1 }, - { desc => 'multiple groups has to be configured', enable_multi => 0, groups => 'sanitation,street'}, ) { subtest $test->{desc} => sub { FixMyStreet::DB->resultset('Contact')->search( { body_id => $body->id } )->delete(); @@ -95,7 +94,7 @@ for my $test ( <metadata>false</metadata> <type>realtime</type> <keywords>lorem, ipsum, dolor</keywords> - <group>sanitation,street</group> + <groups><group>sanitation</group><group>street</group></groups> </service> <service> <service_code>002</service_code> @@ -115,7 +114,6 @@ for my $test ( ALLOWED_COBRANDS => [ 'tester' ], COBRAND_FEATURES => { category_groups => { tester => 1 }, - multiple_category_groups => { tester => $test->{enable_multi} }, } }, sub { my $processor = Open311::PopulateServiceList->new(); @@ -141,7 +139,7 @@ for my $test ( }; } -subtest "set multiple groups with quoted csv" => sub { +subtest "set multiple groups with groups element" => sub { FixMyStreet::DB->resultset('Contact')->search( { body_id => $body->id } )->delete(); my $services_xml = '<?xml version="1.0" encoding="utf-8"?> @@ -153,7 +151,7 @@ subtest "set multiple groups with quoted csv" => sub { <metadata>false</metadata> <type>realtime</type> <keywords>lorem, ipsum, dolor</keywords> - <group>"sanitation & cleaning",street</group> + <groups><group>sanitation & cleaning</group><group>street</group></groups> </service> </services> '; @@ -164,7 +162,6 @@ subtest "set multiple groups with quoted csv" => sub { ALLOWED_COBRANDS => [ 'tester' ], COBRAND_FEATURES => { category_groups => { tester => 1 }, - multiple_category_groups => { tester => 1 }, } }, sub { my $processor = Open311::PopulateServiceList->new(); @@ -178,46 +175,6 @@ subtest "set multiple groups with quoted csv" => sub { is_deeply $contact->get_extra->{group}, ['sanitation & cleaning','street'], "groups set correctly"; }; -subtest "set multiple groups with bad csv" => sub { - FixMyStreet::DB->resultset('Contact')->search( { body_id => $body->id } )->delete(); - - my $services_xml = '<?xml version="1.0" encoding="utf-8"?> - <services> - <service> - <service_code>100</service_code> - <service_name>Cans left out 24x7</service_name> - <description>Garbage or recycling cans that have been left out for more than 24 hours after collection. Violators will be cited.</description> - <metadata>false</metadata> - <type>realtime</type> - <keywords>lorem, ipsum, dolor</keywords> - <group>"sanitation,street</group> - </service> - </services> - '; - - my $service_list = get_xml_simple_object($services_xml); - - FixMyStreet::override_config { - ALLOWED_COBRANDS => [ 'tester' ], - COBRAND_FEATURES => { - category_groups => { tester => 1 }, - multiple_category_groups => { tester => 1 }, - } - }, sub { - my $processor = Open311::PopulateServiceList->new(); - $processor->_current_body( $body ); - warning_like { - $processor->process_services( $service_list ); - } qr/error parsing groups for testercontact Cans left out 24x7: "sanitation,street/, - "warning printed for bad csv"; - }; - my $contact_count = FixMyStreet::DB->resultset('Contact')->search( { body_id => $body->id } )->count(); - is $contact_count, 1, 'correct number of contacts'; - - my $contact = FixMyStreet::DB->resultset('Contact')->search( { body_id => $body->id, email => 100 } )->first; - is_deeply $contact->get_extra->{group}, ['"sanitation,street'], "groups set correctly"; -}; - subtest 'check non open311 contacts marked as deleted' => sub { FixMyStreet::DB->resultset('Contact')->search( { body_id => $body->id } )->delete(); |