summaryrefslogtreecommitdiff
path: root/tests/postgres_tests/test_ranges.py
diff options
context:
space:
mode:
authorHasan Ramezani <hasan.r67@gmail.com>2019-11-07 15:35:33 +0100
committerMariusz Felisiak <felisiak.mariusz@gmail.com>2019-11-08 10:59:24 +0100
commit153c7956f84ef4bd203e750f8669f70b6f7fa3f7 (patch)
treea153af9b3d98e9da47bebc843e07b48ae41a2b63 /tests/postgres_tests/test_ranges.py
parent8058d9d7adb189fec75a4b57565f225996c7b22c (diff)
Fixed #24858 -- Added support for get_FOO_display() to ArrayField and RangeFields.
_get_FIELD_display() crashed when Field.choices was unhashable.
Diffstat (limited to 'tests/postgres_tests/test_ranges.py')
-rw-r--r--tests/postgres_tests/test_ranges.py25
1 files changed, 25 insertions, 0 deletions
diff --git a/tests/postgres_tests/test_ranges.py b/tests/postgres_tests/test_ranges.py
index b68f22112f..326015e46d 100644
--- a/tests/postgres_tests/test_ranges.py
+++ b/tests/postgres_tests/test_ranges.py
@@ -7,6 +7,7 @@ from django.core import exceptions, serializers
from django.db.models import DateField, DateTimeField, F, Func, Value
from django.http import QueryDict
from django.test import override_settings
+from django.test.utils import isolate_apps
from django.utils import timezone
from . import PostgreSQLSimpleTestCase, PostgreSQLTestCase
@@ -22,6 +23,30 @@ except ImportError:
pass
+@isolate_apps('postgres_tests')
+class BasicTests(PostgreSQLSimpleTestCase):
+ def test_get_field_display(self):
+ class Model(PostgreSQLModel):
+ field = pg_fields.IntegerRangeField(
+ choices=[
+ ['1-50', [((1, 25), '1-25'), ([26, 50], '26-50')]],
+ ((51, 100), '51-100'),
+ ],
+ )
+
+ tests = (
+ ((1, 25), '1-25'),
+ ([26, 50], '26-50'),
+ ((51, 100), '51-100'),
+ ((1, 2), '(1, 2)'),
+ ([1, 2], '[1, 2]'),
+ )
+ for value, display in tests:
+ with self.subTest(value=value, display=display):
+ instance = Model(field=value)
+ self.assertEqual(instance.get_field_display(), display)
+
+
class TestSaveLoad(PostgreSQLTestCase):
def test_all_fields(self):