aboutsummaryrefslogtreecommitdiffstats
path: root/t/cobrand
diff options
context:
space:
mode:
authorStruan Donald <struan@exo.org.uk>2018-12-14 16:57:15 +0000
committerStruan Donald <struan@exo.org.uk>2019-01-04 10:35:49 +0000
commitcd4c9634b73eea847a1436f201e44de9c7e04d69 (patch)
treed76e3142afbcf7aa5bcb9d75c6cf6cca3aa56f63 /t/cobrand
parent8ce5719937b7c589a4c5f65ed5b2ceb9637b9fcf (diff)
[Buckinghamshire] add report description filtering
Add a method to do some basic filtering of emails and phone numbers from report descriptions. To be used on reports pulled in from Confirm as a first pass at removing personal information.
Diffstat (limited to 't/cobrand')
-rw-r--r--t/cobrand/bucks.t71
1 files changed, 71 insertions, 0 deletions
diff --git a/t/cobrand/bucks.t b/t/cobrand/bucks.t
index 17e850196..a894bd377 100644
--- a/t/cobrand/bucks.t
+++ b/t/cobrand/bucks.t
@@ -82,4 +82,75 @@ subtest 'flytipping off road sent to extra email' => sub {
};
+$cobrand = FixMyStreet::Cobrand::Buckinghamshire->new();
+
+for my $test (
+ {
+ desc => 'filters basic emails',
+ in => 'email: test@example.com',
+ out => 'email: ',
+ },
+ {
+ desc => 'filters emails in brackets',
+ in => 'email: <test@example.com>',
+ out => 'email: <>',
+ },
+ {
+ desc => 'filters emails from hosts',
+ in => 'email: test@mail.example.com',
+ out => 'email: ',
+ },
+ {
+ desc => 'filters multiple emails',
+ in => 'email: test@example.com and user@fixmystreet.com',
+ out => 'email: and ',
+ },
+ {
+ desc => 'filters basic phone numbers',
+ in => 'number: 07700 900000',
+ out => 'number: ',
+ },
+ {
+ desc => 'filters multiple phone numbers',
+ in => 'number: 07700 900000 and 07700 900001',
+ out => 'number: and ',
+ },
+ {
+ desc => 'filters 3 part phone numbers',
+ in => 'number: 0114 496 0999',
+ out => 'number: ',
+ },
+ {
+ desc => 'filters international phone numbers',
+ in => 'number: +44 114 496 0999',
+ out => 'number: ',
+ },
+ {
+ desc => 'filters 020 phone numbers',
+ in => 'number: 020 7946 0999',
+ out => 'number: ',
+ },
+ {
+ desc => 'filters no area phone numbers',
+ in => 'number: 01632 01632',
+ out => 'number: ',
+ },
+ {
+ desc => 'does not filter normal numbers',
+ in => 'number: 16320163236',
+ out => 'number: 16320163236',
+ },
+ {
+ desc => 'does not filter short numbers',
+ in => 'number: 0163 1632',
+ out => 'number: 0163 1632',
+ },
+) {
+ subtest $test->{desc} => sub {
+ is $cobrand->filter_report_description($test->{in}), $test->{out}, "filtered correctly";
+ };
+}
+
+
+
done_testing();