Ejemplo n.º 1
0
    def test_to_internal_value_returns_list_of_enums_when_value_is_list_of_ints(
            self):
        field = MultipleEnumChoiceField(enum_class=IntTestEnum)

        result = field.to_internal_value(['1', '2'])

        self.assertEqual([IntTestEnum.FIRST, IntTestEnum.SECOND], result)
Ejemplo n.º 2
0
    def test_to_internal_value_returns_list_of_enums_when_value_is_list_of_strings(
            self):
        field = MultipleEnumChoiceField(enum_class=CharTestEnum)

        result = field.to_internal_value(['first', 'second'])

        self.assertEqual([CharTestEnum.FIRST, CharTestEnum.SECOND], result)
Ejemplo n.º 3
0
    def test_to_internal_value_fails_when_not_allowed_empty_field_gets_empty_list(
            self):
        field = MultipleEnumChoiceField(enum_class=IntTestEnum)

        with self.assertRaisesMessage(ValidationError,
                                      'This selection may not be empty.'):
            field.to_internal_value([])
Ejemplo n.º 4
0
    def test_to_internal_value_fails_when_value_is_not_list(self):
        field = MultipleEnumChoiceField(enum_class=IntTestEnum)

        with self.assertRaisesMessage(
                ValidationError,
                'Expected a list of items but got type "int".'):
            field.to_internal_value(5)
Ejemplo n.º 5
0
    def test_to_representation_returns_list_of_strings(self):
        field = MultipleEnumChoiceField(enum_class=CharTestEnum)

        result = field.to_representation(
            [CharTestEnum.FIRST, CharTestEnum.SECOND])

        self.assertEqual(['first', 'second'], result)
Ejemplo n.º 6
0
    def test_to_representation_returns_list_of_ints(self):
        field = MultipleEnumChoiceField(enum_class=IntTestEnum)

        result = field.to_representation(
            [IntTestEnum.FIRST, IntTestEnum.SECOND])

        self.assertEqual(['1', '2'], result)
Ejemplo n.º 7
0
 class Serializer(serializers.Serializer):
     enumeration = MultipleEnumChoiceField(enum_class=CharTestEnum)
Ejemplo n.º 8
0
 class Serializer(serializers.Serializer):
     enumeration = MultipleEnumChoiceField(enum_class=CharTestEnum,
                                           allow_empty=True)
Ejemplo n.º 9
0
class MultipleMySerializer(serializers.Serializer):
    enumerated_field = MultipleEnumChoiceField(MyEnum)