From 5a36c81f58b8ff45d8dac052343722c54e3fa521 Mon Sep 17 00:00:00 2001 From: Vinay Karanam Date: Mon, 4 Feb 2019 04:57:19 +0530 Subject: Fixed #29391 -- Made PostgresSimpleLookup respect Field.get_db_prep_value(). --- tests/postgres_tests/test_array.py | 17 ++++++++++++++--- 1 file changed, 14 insertions(+), 3 deletions(-) (limited to 'tests/postgres_tests/test_array.py') diff --git a/tests/postgres_tests/test_array.py b/tests/postgres_tests/test_array.py index 447d511c9f..465eac1785 100644 --- a/tests/postgres_tests/test_array.py +++ b/tests/postgres_tests/test_array.py @@ -1,4 +1,5 @@ import decimal +import enum import json import unittest import uuid @@ -16,9 +17,9 @@ from . import ( PostgreSQLSimpleTestCase, PostgreSQLTestCase, PostgreSQLWidgetTestCase, ) from .models import ( - ArrayFieldSubclass, CharArrayModel, DateTimeArrayModel, IntegerArrayModel, - NestedIntegerArrayModel, NullableIntegerArrayModel, OtherTypesArrayModel, - PostgreSQLModel, Tag, + ArrayEnumModel, ArrayFieldSubclass, CharArrayModel, DateTimeArrayModel, + IntegerArrayModel, NestedIntegerArrayModel, NullableIntegerArrayModel, + OtherTypesArrayModel, PostgreSQLModel, Tag, ) try: @@ -357,6 +358,16 @@ class TestQuerying(PostgreSQLTestCase): [self.objs[3]] ) + def test_enum_lookup(self): + class TestEnum(enum.Enum): + VALUE_1 = 'value_1' + + instance = ArrayEnumModel.objects.create(array_of_enums=[TestEnum.VALUE_1]) + self.assertSequenceEqual( + ArrayEnumModel.objects.filter(array_of_enums__contains=[TestEnum.VALUE_1]), + [instance] + ) + def test_unsupported_lookup(self): msg = "Unsupported lookup '0_bar' for ArrayField or join on the field not permitted." with self.assertRaisesMessage(FieldError, msg): -- cgit v1.3