示例#1
0
 def test_ctypes(self):
     ct1 = self.ct1
     clean = MultiEntityCTypeChoiceField(ctypes=[ct1]).clean
     self.assertEqual([ct1], clean([ct1.id]))
     self.assertFieldValidationError(MultiEntityCTypeChoiceField,
                                     'invalid_choice', clean, [self.ct2.id],
                                    )
示例#2
0
 def test_invalid(self):
     clean = MultiEntityCTypeChoiceField().clean
     self.assertFieldValidationError(MultiEntityCTypeChoiceField, 'invalid_choice',
                                     clean, [self.ct1.id, self.ct3.id],
                                    )
     self.assertFieldValidationError(MultiEntityCTypeChoiceField, 'invalid_choice',
                                     clean, ['not an int'],
                                    )
示例#3
0
    def test_not_required(self):
        ct1 = self.ct1
        ct2 = self.ct2
        clean = MultiEntityCTypeChoiceField(ctypes=[ct1, ct2], required=False).clean

        self.assertEqual([ct1], clean([ct1.id]))
        self.assertEqual([ct2], clean([ct2.id]))
        self.assertEqual([],    clean(''))
        self.assertEqual([],    clean([]))
示例#4
0
    def test_required(self):
        ct1 = self.ct1
        ct2 = self.ct2

        ContentType.objects.clear_cache()

        with self.assertNumQueries(0):
            field = MultiEntityCTypeChoiceField()

        clean = field.clean
        self.assertEqual([ct1], clean([ct1.id]))
        self.assertEqual([ct2], clean([ct2.id]))
        self.assertFieldValidationError(MultiEntityCTypeChoiceField, 'required', clean, '')
        self.assertFieldValidationError(MultiEntityCTypeChoiceField, 'required', clean, [])
        self.assertFieldValidationError(MultiEntityCTypeChoiceField, 'required', clean, None)