class TestPhoneField(TestCase): field = api.PhoneField() @cases([ '79222569873', '+79222569873', 79222569873, '89222569873', ]) def test_good_field(self, val): api.PhoneField.name = '_field' self.field = val self.assertEqual(self.field, str(val)) @cases([ '7922O569873', '', 1, ]) def test_bad_field(self, val): api.PhoneField.name = '_field' def assign(): self.field = val self.assertRaises(Exception, assign)
def test_invalid_phone_field(value): field = api.PhoneField(required=True, nullable=False) try: field.clean(value) pytest.fail("ValidationError expected") except api.ValidationError: assert True
class FieldTester(api.Structure): charfield = api.CharField(nullable=True) # emailfield = api.EmailField(nullable=True) phonefield = api.PhoneField(nullable=True) birthdayfield = api.BirthDayField(nullable=True) genderfield = api.GenderField(nullable=True) datefield = api.DateField(nullable=True) client_ids = api.ClientIDsField(required=True)
def test_phone_field_ok_cases(required, nullable, field_value): _field = api.PhoneField(required=required, nullable=nullable) _field.field_name = "test_field" MockRequest.test_field = _field mock_obj = MockRequest(test_field=field_value) mock_obj.fields["test_field"] = _field MockRequest.__dict__["test_field"].__set__(mock_obj, field_value) assert getattr(mock_obj, "test_field") == field_value
class FieldsSet: arguments_field = api.ArgumentsField() char_field = api.CharField() email_field = api.EmailField() phone_field = api.PhoneField() date_field = api.DateField() birthday_field = api.BirthDayField() gender_field = api.GenderField() client_ids_field = api.ClientIDsField()
class FieldContainer(object): char_field = api.CharField(nullable=False) int_field = api.IntField(nullable=False) arg_field = api.ArgumentsField(nullable=False) email_field = api.EmailField(nullable=False) phone_field = api.PhoneField(nullable=False) date_field = api.DateField(nullable=False) birthday_field = api.BirthDayField(nullable=False) gender_field = api.GenderField(nullable=False) ids_field = api.ClientIDsField(nullable=False)
def test_phone_field(self): field = api.PhoneField() field.field_name = 'field' field.validate_value('79998887766') field.validate_value(79998887766) self.assertRaises(api.ValidationError, field.validate_value, '799988877661') self.assertRaises(api.ValidationError, field.validate_value, '7999888776') self.assertRaises(api.ValidationError, field.validate_value, '89998887766') self.assertRaises(api.ValidationError, field.validate_value, '7a998887766') self.assertTrue(field.is_null_value('')) self.assertTrue(field.is_null_value(None))
def test_valid_phone_number(self, value): self.assertEqual(value, api.PhoneField().valid_value(value)) self.assertIsInstance(api.PhoneField().valid_value(value), (basestring, int))
def test_phonefield_valid(self, value): self.assertEqual(str(value), api.PhoneField().run_validators(value))
def test_phone_field(self, phone): f = api.PhoneField() self.assertEqual(f.parse_validate(phone), phone)
def test_non_phone_field(self, phone): f = api.PhoneField() with self.assertRaises(ValueError): f.parse_validate(phone)
def test_valid_value(self, val): """ Test PhoneField VALID values """ api.PhoneField(required=False, nullable=True, value=val).validate()
def setUp(self): self.phf = api.PhoneField(required=False, nullable=True)
def test_invalid_email_field(self, value): field = api.PhoneField() self.assertInvalid(field, value)
def test_invalid_type_value(self, value): with self.assertRaises(TypeError): api.PhoneField(nullable=True).validate(value)
def test__phone_correct_ok(self, value): phonefield = a.PhoneField() resp = phonefield.clean(value) assert (resp, value)
def test_valid_phone_field(self): value = '79998887766' field = api.PhoneField() self.assertValid(field, value)
def test__phone_field_wrong_phone_fail(self, value): phonefield = a.PhoneField() with pytest.raises(ValueError): phonefield.clean(value)
def setUp(self): self.field = api.PhoneField() self.field.field_name = 'phone_field'
def test_invalid_value(self, val): """ Test PhoneField INVALID values """ with self.assertRaises(ValidationError): api.PhoneField(required=False, nullable=True, value=val).validate()
def test_phonefield_invalid(self, value): self.assertRaises(ValueError, api.PhoneField().run_validators, value)
def test_valid_phone(self, value): self.assertEqual(value, api.PhoneField().validate(value))
def test_valid_value(self, value): self.assertEqual(value, api.PhoneField(nullable=True).validate(value))
def test_bad_phone_field(self, value): field = api.PhoneField(required=False, nullable=True) with self.assertRaises(Exception): field.clean(value)
def test_invalid_value(self, value): with self.assertRaises(ValueError): api.PhoneField(nullable=False).validate(value)
def test_invalid_type_phone_number(self, value): with self.assertRaises(api.ValidationError): api.PhoneField().valid_value(value)
def test_invalid_phone_field(self, value): with self.assertRaises(ValueError): api.PhoneField().validate(value)
def setUpClass(cls): cls.field = api.PhoneField()
def test_phone_field(self): field = api.PhoneField(required=False, nullable=True) self.assertEqual(field.clean('78981231231'), '78981231231') self.assertEqual(field.clean(''), '')
def test_bad_phone_attribute(self, value): attr = api.PhoneField(required=False, nullable=True) self.assertFalse(attr.validate(value))