converted validators test to pytest style

This commit is contained in:
Asif Saifuddin Auvi 2016-11-23 19:32:11 +06:00
parent 3bc4138fe7
commit bb31469027

View File

@ -69,7 +69,9 @@ class TestUniquenessValidation(TestCase):
expected = dedent("""
UniquenessSerializer():
id = IntegerField(label='ID', read_only=True)
username = CharField(max_length=100, validators=[<UniqueValidator(queryset=UniquenessModel.objects.all())>])
username = CharField(
max_length=100,
validators=[<UniqueValidator(queryset=UniquenessModel.objects.all())>])
""")
assert repr(serializer) == expected
@ -94,23 +96,20 @@ class TestUniquenessValidation(TestCase):
def test_doesnt_pollute_model(self):
instance = AnotherUniquenessModel.objects.create(code='100')
serializer = AnotherUniquenessSerializer(instance)
self.assertEqual(
AnotherUniquenessModel._meta.get_field('code').validators, [])
assert AnotherUniquenessModel._meta.get_field('code').validators == []
# Accessing data shouldn't effect validators on the model
serializer.data
self.assertEqual(
AnotherUniquenessModel._meta.get_field('code').validators, [])
assert AnotherUniquenessModel._meta.get_field('code').validators == []
def test_related_model_is_unique(self):
data = {'username': 'Existing', 'email': 'new-email@example.com'}
rs = RelatedModelSerializer(data=data)
self.assertFalse(rs.is_valid())
self.assertEqual(rs.errors,
{'username': ['This field must be unique.']})
assert not rs.is_valid()
assert rs.errors == {'username': ['This field must be unique.']}
data = {'username': 'new-username', 'email': 'new-email@example.com'}
rs = RelatedModelSerializer(data=data)
self.assertTrue(rs.is_valid())
assert rs.is_valid()
def test_value_error_treated_as_not_unique(self):
serializer = UniquenessIntegerSerializer(data={'integer': 'abc'})