aboutsummaryrefslogtreecommitdiffstats
path: root/t/open311/populate-service-list.t
diff options
context:
space:
mode:
Diffstat (limited to 't/open311/populate-service-list.t')
-rw-r--r--t/open311/populate-service-list.t49
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>&quot;sanitation &amp; cleaning&quot;,street</group>
+ <groups><group>sanitation &amp; 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();