blob: bd2fbed7b1f6d44b21503793fe0485b0796a4020 (
plain)
| 1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
 | from django.test import TestCase
from rest_framework import serializers
from .models import BasicModel
class TestSerializerMetaClass(TestCase):
    def setUp(self):
        class FieldsSerializer(serializers.ModelSerializer):
            text = serializers.CharField()
            class Meta:
                model = BasicModel
                fields = ('text')
        class ExcludeSerializer(serializers.ModelSerializer):
            text = serializers.CharField()
            class Meta:
                model = BasicModel
                exclude = ('text')
        class FieldsAndExcludeSerializer(serializers.ModelSerializer):
            text = serializers.CharField()
            class Meta:
                model = BasicModel
                fields = ('text',)
                exclude = ('text',)
        self.fields_serializer = FieldsSerializer
        self.exclude_serializer = ExcludeSerializer
        self.faeSerializer = FieldsAndExcludeSerializer
    def test_meta_class_fields(self):
        object = BasicModel(text="Hello World.")
        serializer = self.fields_serializer(instance=object)
        with self.assertRaises(TypeError) as result:
            serializer.data
        exception = result.exception
        self.assertEqual(str(exception), "`fields` must be a list or tuple")
    def test_meta_class_exclude(self):
        object = BasicModel(text="Hello World.")
        serializer = self.exclude_serializer(instance=object)
        with self.assertRaises(TypeError) as result:
            serializer.data
        exception = result.exception
        self.assertEqual(str(exception), "`exclude` must be a list or tuple")
    def test_meta_class_fields_and_exclude(self):
        object = BasicModel(text="Hello World.")
        serializer = self.faeSerializer(instance=object)
        with self.assertRaises(AssertionError) as result:
            serializer.data
        exception = result.exception
        self.assertEqual(str(exception), "Cannot set both 'fields' and 'exclude'.")
 |