def test_get_form_fields_from_serializer_unmapped_field(self):
        class CustomField(serializers.Field):
            pass

        class MySerializer(serializers.Serializer):
            foo = serializers.CharField(read_only=True)
            bar = CustomField()

        with self.assertRaises(TypeError):
            SerializerFormMeta.get_form_fields_from_serializer(
                (object,), mock.Mock(serializer=MySerializer,
                                     fields=['foo', 'bar'],
                                     exclude=[],
                                     field_mapping={})
            )
示例#2
0
    def test_get_form_fields_from_serializer_unmapped_field(self):
        class CustomField(serializers.Field):
            pass

        class MySerializer(serializers.Serializer):
            foo = serializers.CharField(read_only=True)
            bar = CustomField()

        with self.assertRaises(TypeError):
            SerializerFormMeta.get_form_fields_from_serializer(
                (object, ),
                mock.Mock(serializer=MySerializer,
                          fields=['foo', 'bar'],
                          exclude=[],
                          field_mapping={}))
    def test_get_form_fields_from_serializer(self):
        fields = SerializerFormMeta.get_form_fields_from_serializer(
            (object,), mock.Mock(serializer=TestSerializer,
                                 fields=['foo', 'bar'],
                                 exclude=['exclude'],
                                 field_mapping={})
        )

        self.assertSetEqual(set(fields.keys()), {'bar'})
        self.assertIsInstance(fields['bar'], forms.IntegerField)
示例#4
0
    def test_get_form_fields_from_serializer(self):
        fields = SerializerFormMeta.get_form_fields_from_serializer(
            (object, ),
            mock.Mock(serializer=TestSerializer,
                      fields=['foo', 'bar'],
                      exclude=['exclude'],
                      field_mapping={}))

        self.assertSetEqual(set(fields.keys()), {'bar'})
        self.assertIsInstance(fields['bar'], forms.IntegerField)