コード例 #1
0
    def test_default_provided_called_with_args(self):
        result = any_model_with_defaults(SimpleModelWithDefaults,
                                         **self.sample_args)

        for field, original_field in zip(
                result._meta.fields,
                SimpleModelWithDefaults._meta.local_fields):
            self.assertNotEqual(original_field.default,
                                getattr(result, field.name))
コード例 #2
0
    def test_default_provided_called_with_no_args(self):
        result = any_model_with_defaults(SimpleModelWithDefaults)

        self.assertEqual(type(result), SimpleModelWithDefaults)
        self.assertEqual(len(result._meta.fields), len(SimpleModelWithDefaults._meta.local_fields))

        for field, original_field in zip(result._meta.fields, SimpleModelWithDefaults._meta.local_fields):
            value = getattr(result, field.name)
            if field.name != 'null_boolead_field':
                self.assertTrue(value is not None, "%s is uninitialized" % field.name)
            self.assertTrue(isinstance(field, original_field.__class__), "%s has correct field type" % field.name)
            if original_field.default is not NOT_PROVIDED:
                self.assertEqual(original_field.default, value)
コード例 #3
0
    def test_default_provided_called_with_no_args(self):
        result = any_model_with_defaults(SimpleModelWithDefaults)

        self.assertEqual(type(result), SimpleModelWithDefaults)
        self.assertEqual(len(result._meta.fields), len(SimpleModelWithDefaults._meta.local_fields))

        for field, original_field in zip(result._meta.fields, SimpleModelWithDefaults._meta.local_fields):
            value = getattr(result, field.name)
            if field.name != 'null_boolead_field':
                self.assertTrue(value is not None, "%s is uninitialized" % field.name)
            self.assertTrue(isinstance(field, original_field.__class__), "%s has correct field type" % field.name)
            if original_field.default is not NOT_PROVIDED:
                self.assertEqual(original_field.default, value)
コード例 #4
0
    def test_related_fields_instances(self):
        default_target = TargetModel.objects.create()

        standard = RelationshipModelsWithDefaults.objects.create()
        self.assertEqual(standard.fk, default_target)
        self.assertEqual(standard.o2o, default_target)
        standard.delete()  # release o2o field

        try:
            test = any_model_with_defaults(RelationshipModelsWithDefaults)
            self.assertEqual(test.fk, default_target)
            self.assertEqual(test.o2o, default_target)
        except ValueError:
            raise AssertionError(
                '`any_model_with_defaults` must provide models instances '
                'instead of raw values for related fields with defaults.')
コード例 #5
0
    def test_related_fields_instances(self):
        default_target = TargetModel.objects.create()

        standard = RelationshipModelsWithDefaults.objects.create()
        self.assertEqual(standard.fk, default_target)
        self.assertEqual(standard.o2o, default_target)
        standard.delete()  # release o2o field

        try:
            test = any_model_with_defaults(RelationshipModelsWithDefaults)
            self.assertEqual(test.fk, default_target)
            self.assertEqual(test.o2o, default_target)
        except ValueError:
            raise AssertionError(
                '`any_model_with_defaults` must provide models instances '
                'instead of raw values for related fields with defaults.')
コード例 #6
0
    def test_default_provided_called_with_args(self):
        result = any_model_with_defaults(SimpleModelWithDefaults, **self.sample_args)

        for field, original_field in zip(result._meta.fields, SimpleModelWithDefaults._meta.local_fields):
            self.assertNotEqual(original_field.default, getattr(result, field.name))