tests.py 文件源码

python
阅读 38 收藏 0 点赞 0 评论 0

项目:django-echoices 作者: mbourqui 项目源码 文件源码
def test_create_instance(self):
        instance = TestEChoiceFieldEIntChoicesModel.objects.create(choice=ETestIntChoices.FIELD1)
        choice = instance.choice
        self.assertIsInstance(choice, ETestIntChoices)
        self.assertIs(choice, ETestIntChoices.FIELD1)
        self.assertEqual(choice.value, 10)
        self.assertEqual(choice.label, 'Label 1')
        if StrictVersion(django_version()) < StrictVersion('1.9.0'):
            self.assertEqual(instance._meta.fields[1].__class__.__name__, 'EChoiceField')
        else:
            self.assertEqual(instance._meta.fields[1].__class__.__name__, 'ETestIntChoicesField')
        self.assertEqual(instance._meta.fields[1].choices, ETestIntChoices.choices())
        # Default value
        self.assertIs(instance._meta.fields[1].default, models.fields.NOT_PROVIDED)
        self.assertIsNone(instance._meta.fields[1].get_default())
        # to_python()
        self.assertRaisesMessage(exceptions.ValidationError, '["\'foo\' value must be an integer."]',
                                 instance._meta.fields[1].to_python, 'foo')
        # Custom flatchoices
        self.assertEqual(instance._meta.fields[1].flatchoices,
                         [(ETestIntChoices.FIELD1, 'Label 1'), (ETestIntChoices.FIELD2, 'Label 2')])
        instance.delete()
评论列表
文章目录


问题


面经


文章

微信
公众号

扫码关注公众号