Merge pull request #1769 from alphagov/escape-special-characters-in-search

Escape special characters in search by recipient
This commit is contained in:
Chris Hill-Scott
2018-03-14 15:44:56 +00:00
committed by GitHub
2 changed files with 48 additions and 0 deletions

View File

@@ -1769,6 +1769,48 @@ def test_dao_get_notifications_by_to_field_matches_partial_emails(sample_email_t
assert notification_2.id not in notification_ids
@pytest.mark.parametrize('search_term, expected_result_count', [
('foobar', 1),
('foo', 2),
('bar', 2),
('foo%', 1),
('%%bar', 1),
('%_', 1),
('%', 2),
('_', 1),
('/', 1),
('\\', 1),
('baz\\baz', 1),
('%foo', 0),
('%_%', 0),
('example.com', 5),
])
def test_dao_get_notifications_by_to_field_escapes(
sample_email_template,
search_term,
expected_result_count,
):
for email_address in {
'foo%_@example.com',
'%%bar@example.com',
'foobar@example.com',
'/@example.com',
'baz\\baz@example.com',
}:
create_notification(
template=sample_email_template,
to_field=email_address,
normalised_to=email_address,
)
assert len(dao_get_notifications_by_to_field(
sample_email_template.service_id,
search_term,
notification_type='email',
)) == expected_result_count
@pytest.mark.parametrize('search_term', [
'001',
'100',