Increase coverage: verify that accessing the descriptor from the class yields the descriptor object.

This commit is contained in:
Lucas Wiman 2018-06-28 17:04:57 -07:00
parent ca2fbb4ccd
commit 7d6b45f0c1
2 changed files with 3 additions and 2 deletions

View file

@ -71,8 +71,7 @@ class DescriptorWrapper(object):
@staticmethod
def cls_for_descriptor(descriptor):
has_del = hasattr(descriptor, '__delete__')
if has_del:
if hasattr(descriptor, '__delete__'):
return FullDescriptorWrapper
else:
return DescriptorWrapper

View file

@ -7,6 +7,7 @@ from django.core.exceptions import FieldError
from django.test import TestCase
from model_utils import FieldTracker
from model_utils.tracker import DescriptorWrapper
from tests.models import (
Tracked, TrackedFK, InheritedTrackedFK, TrackedNotDefault, TrackedNonFieldAttr, TrackedMultiple,
InheritedTracked, TrackedFileField,
@ -191,6 +192,7 @@ class FieldTrackerTests(FieldTrackerTestCase, FieldTrackerCommonTests):
if self.tracked_class == Tracked:
self.assertFalse(item.tracker.has_changed('number'))
if django.VERSION >= (1, 10):
self.assertIsInstance(item.__class__.number, DescriptorWrapper)
self.assertTrue('number' in item.get_deferred_fields())
else:
self.assertTrue('number' in item._deferred_fields)