class CMSPageSerializer(BaseCMSPageSerializer):
            a = StringField(source='fields')
            b = StringField(fake_value='c', source='fields')

            class Meta:
                model = self.page_model
                fields = ('a', )
                meta_fields = ('b', )
Exemplo n.º 2
0
    def test_fake_value(self, patch_faker):
        expect(self.string_field.fake_value(
            value='some value')).to.eq('some value')

        patch_faker.return_value = Mock(
            **{'word': Mock(return_value='some string')})
        string_field_none = StringField()
        expect(string_field_none.fake_value()).to.eq('some string')

        expect(self.string_field.fake_value()).to.eq('CPDB')
        class SerializerC(BaseCMSPageSerializer):
            a = serializers.IntegerField()
            b = serializers.IntegerField(write_only=True)
            c = serializers.IntegerField(read_only=True)
            d = StringField(fake_value='d')

            class Meta:
                model = self.page_model
                meta_fields = ('a', 'b', 'c', 'd')
        class SerializerB(BaseCMSPageSerializer):
            a = serializers.IntegerField()
            b = serializers.IntegerField(write_only=True)
            c = StringField(source='fields')
            d = serializers.IntegerField()

            class Meta:
                model = self.page_model
                meta_fields = ('a', 'b')
                fields = ('c', 'd')
        class CMSPageSerializer(BaseCMSPageSerializer):
            a = StringField()
            b = serializers.SerializerMethodField()
            c = serializers.IntegerField(read_only=True)

            class Meta:
                model = self.page_model
                meta_fields = ('c', )

            def get_b(self, obj):
                return []
Exemplo n.º 6
0
class StringFieldTestCase(SimpleTestCase):
    def setUp(self):
        self.string_field = StringField(fake_value='CPDB')
        self.string_field.field_name = 'vftg_title'

    def test_to_representation(self):
        self.assertDictEqual(
            self.string_field.to_representation({'vftg_title_value': 'abc'}), {
                'name': 'vftg_title',
                'type': 'string',
                'value': 'abc'
            })

    @patch('cms.fields.Faker')
    def test_fake_value(self, patch_faker):
        expect(self.string_field.fake_value(
            value='some value')).to.eq('some value')

        patch_faker.return_value = Mock(
            **{'word': Mock(return_value='some string')})
        string_field_none = StringField()
        expect(string_field_none.fake_value()).to.eq('some string')

        expect(self.string_field.fake_value()).to.eq('CPDB')

    def test_fake_data(self):
        self.assertDictEqual(self.string_field.fake_data(), {
            'name': 'vftg_title',
            'type': 'string',
            'value': 'CPDB'
        })

    def test_to_internal_value(self):
        self.assertDictEqual(self.string_field.to_internal_value('abc'), {
            'vftg_title_type': 'string',
            'vftg_title_value': 'abc'
        })

    def test_raise_validation_error(self):
        with self.assertRaises(serializers.ValidationError) as context_manager:
            self.string_field.to_internal_value(None)

        self.assertEqual(context_manager.exception.detail,
                         {'vftg_title': 'Value is not string'})
Exemplo n.º 7
0
        class PageSerializer(IdPageSerializer):
            a = StringField(source='fields')

            class Meta:
                model = self.page_model
Exemplo n.º 8
0
 def setUp(self):
     self.string_field = StringField(fake_value='CPDB')
     self.string_field.field_name = 'vftg_title'
        class CMSPageSerializer(BaseCMSPageSerializer):
            a = StringField(source='fields')
            b = StringField(write_only=True)

            class Meta:
                model = self.page_model
        class SerializerA(BaseCMSPageSerializer):
            a = StringField(source='fields')

            class Meta:
                model = self.page_model