def test_with_minimal_argument(self): # 1st case serializer = modelserializer_factory(Person)(data=self.minimal_data) assert serializer.is_valid() is True assert serializer.data == dict(name="John Doe") # 2nd case serializer = modelserializer_factory(Person)(data=self.person_data) assert serializer.is_valid() is True assert serializer.data == dict(name="Ali Baba", age=126)
def test_extra_field_modelform_factory(self): serializer = modelserializer_factory( Person, fields=['name'] )(data={"name": "joe", "age": 34}) serializer.is_valid() assert serializer.data == dict({"name": "joe"})
def test_limit_non_existant_field(self): # 1st case: created by inheritance with pytest.raises(ImproperlyConfigured): serializer = InvalidPersonSerializer(data={"name": "joe"}) serializer.is_valid() # 2nd case: created by .modelserializer_factory() with pytest.raises(ImproperlyConfigured): serializer = modelserializer_factory(Person, fields=['nonexistant'])(data={"name": "joe"}) serializer.is_valid()
def test_metadata_py3(self): metadata = VerboseMetadata() serializer = modelserializer_factory(Person)(data=self.person_data) serializer_info = metadata.get_serializer_info(serializer) assert list(serializer_info.keys()) == ['id', 'name', 'age']
def test_excluding_fields(self): serializer = modelserializer_factory(Person, exclude=['name'])(data=self.person_data) assert serializer.is_valid() is True assert serializer.data == dict(age=126)
def test_exclude_fields(self): serializer = modelserializer_factory(Person, exclude=['age'])(data=self.person_data) assert serializer.is_valid() is True assert serializer.data == dict(name="Ali Baba")
def test_including_all_fields(self): serializer = modelserializer_factory(Person, fields="__all__")(data=self.person_data) assert serializer.is_valid() is True assert serializer.data == dict(name="Ali Baba", age=126)
def test_no_fields(self): serializer = modelserializer_factory(Person, fields=())(data=self.person_data) assert serializer.is_valid() is True assert serializer.data == dict()
def test_serializer_name(self): serializer = modelserializer_factory(Person)(data=self.minimal_data) assert serializer.__class__.__name__ == 'PersonSerializer'