mirror of
https://github.com/GSA/notifications-admin.git
synced 2026-02-05 10:53:28 -05:00
80 lines
1.8 KiB
Python
80 lines
1.8 KiB
Python
|
|
from collections import namedtuple
|
|||
|
|
|
|||
|
|
import pytest
|
|||
|
|
|
|||
|
|
from app.utils import get_errors_for_csv
|
|||
|
|
|
|||
|
|
|
|||
|
|
MockRecipients = namedtuple(
|
|||
|
|
'RecipientCSV',
|
|||
|
|
[
|
|||
|
|
'missing_column_headers',
|
|||
|
|
'rows_with_bad_recipients',
|
|||
|
|
'rows_with_missing_data'
|
|||
|
|
]
|
|||
|
|
)
|
|||
|
|
|
|||
|
|
|
|||
|
|
@pytest.mark.parametrize(
|
|||
|
|
"missing_column_headers,rows_with_bad_recipients,rows_with_missing_data,template_type,expected_errors",
|
|||
|
|
[
|
|||
|
|
(
|
|||
|
|
[], [], [],
|
|||
|
|
'sms',
|
|||
|
|
[]
|
|||
|
|
),
|
|||
|
|
(
|
|||
|
|
[], {2}, [],
|
|||
|
|
'sms',
|
|||
|
|
['fix 1 phone number']
|
|||
|
|
),
|
|||
|
|
(
|
|||
|
|
[], {2, 4, 6}, [],
|
|||
|
|
'sms',
|
|||
|
|
['fix 3 phone numbers']
|
|||
|
|
),
|
|||
|
|
(
|
|||
|
|
[], {1}, [],
|
|||
|
|
'email',
|
|||
|
|
['fix 1 email address']
|
|||
|
|
),
|
|||
|
|
(
|
|||
|
|
[], {2, 4, 6}, [],
|
|||
|
|
'email',
|
|||
|
|
['fix 3 email addresses']
|
|||
|
|
),
|
|||
|
|
(
|
|||
|
|
['name'], {2}, {3},
|
|||
|
|
'sms',
|
|||
|
|
[
|
|||
|
|
'add a column called ‘name’',
|
|||
|
|
'fix 1 phone number',
|
|||
|
|
'fill in 1 empty cell'
|
|||
|
|
]
|
|||
|
|
),
|
|||
|
|
(
|
|||
|
|
['name', 'date'], [], [],
|
|||
|
|
'sms',
|
|||
|
|
['add 2 columns, ‘name’ and ‘date’']
|
|||
|
|
),
|
|||
|
|
(
|
|||
|
|
['name', 'date', 'time'], {2, 4, 6, 8}, {3, 6, 9, 12},
|
|||
|
|
'sms',
|
|||
|
|
[
|
|||
|
|
'add columns called ‘name’, ‘date’, and ‘time’',
|
|||
|
|
'fix 4 phone numbers',
|
|||
|
|
'fill in 4 empty cells'
|
|||
|
|
]
|
|||
|
|
)
|
|||
|
|
]
|
|||
|
|
)
|
|||
|
|
def test_get_errors_for_csv(
|
|||
|
|
missing_column_headers, rows_with_bad_recipients, rows_with_missing_data,
|
|||
|
|
template_type,
|
|||
|
|
expected_errors
|
|||
|
|
):
|
|||
|
|
assert get_errors_for_csv(
|
|||
|
|
MockRecipients(missing_column_headers, rows_with_bad_recipients, rows_with_missing_data),
|
|||
|
|
template_type
|
|||
|
|
) == expected_errors
|