test_fields.py 1.1 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445
  1. from __future__ import unicode_literals
  2. import unittest
  3. from django.contrib.admindocs import views
  4. from django.db import models
  5. from django.db.models import fields
  6. from django.utils.translation import ugettext as _
  7. class CustomField(models.Field):
  8. description = "A custom field type"
  9. class DescriptionLackingField(models.Field):
  10. pass
  11. class TestFieldType(unittest.TestCase):
  12. def setUp(self):
  13. pass
  14. def test_field_name(self):
  15. self.assertRaises(
  16. AttributeError,
  17. views.get_readable_field_data_type, "NotAField"
  18. )
  19. def test_builtin_fields(self):
  20. self.assertEqual(
  21. views.get_readable_field_data_type(fields.BooleanField()),
  22. _('Boolean (Either True or False)')
  23. )
  24. def test_custom_fields(self):
  25. self.assertEqual(
  26. views.get_readable_field_data_type(CustomField()),
  27. 'A custom field type'
  28. )
  29. self.assertEqual(
  30. views.get_readable_field_data_type(DescriptionLackingField()),
  31. _('Field of type: %(field_type)s') % {
  32. 'field_type': 'DescriptionLackingField'
  33. }
  34. )