def test_validate_address_doesnt_raise_for_missing_optional_columns(column): assert validate_recipient('', 'letter', column=column) == ''
def test_validate_address_raises_for_wrong_column(): with pytest.raises(TypeError): validate_recipient('any', 'letter', column='email address')
def test_validate_address_raises_for_missing_required_columns( column, contents): with pytest.raises(InvalidAddressError) as e: validate_recipient(contents, 'letter', column=column) assert 'Missing' == str(e.value)
def test_valid_address_line_does_not_raise_error(): invalid_address = u'Fran\u00e7oise' assert validate_recipient(invalid_address, 'letter', column='address_line_1')
def test_non_ascii_address_line_raises_invalid_address_error(column): invalid_address = u'\u041F\u0435\u0442\u044F' with pytest.raises(InvalidAddressError) as e: validate_recipient(invalid_address, 'letter', column=column) assert str(e.value) == u'Can’t include \u041F, \u0435, \u0442 or \u044F'
def test_validate_address_allows_any_non_empty_value(column): assert validate_recipient('any', 'letter', column=column) == 'any'
def test_non_ascii_address_line_is_fine(column): valid_address = u'\u041F\u0435\u0442\u044F' assert validate_recipient(valid_address, 'letter', column=column) == valid_address