diff options
Diffstat (limited to 'tests/postgres_tests/test_array.py')
| -rw-r--r-- | tests/postgres_tests/test_array.py | 21 |
1 files changed, 21 insertions, 0 deletions
diff --git a/tests/postgres_tests/test_array.py b/tests/postgres_tests/test_array.py index 0ff7198fc2..094a1e2235 100644 --- a/tests/postgres_tests/test_array.py +++ b/tests/postgres_tests/test_array.py @@ -347,7 +347,9 @@ class TestChecks(PostgreSQLTestCase): model = MyModel() errors = model.check() self.assertEqual(len(errors), 1) + # The inner CharField is missing a max_length. self.assertEqual(errors[0].id, 'postgres.E001') + self.assertIn('max_length', errors[0].msg) def test_invalid_base_fields(self): test_apps = Apps(['postgres_tests']) @@ -363,6 +365,25 @@ class TestChecks(PostgreSQLTestCase): self.assertEqual(len(errors), 1) self.assertEqual(errors[0].id, 'postgres.E002') + def test_nested_field_checks(self): + """ + Nested ArrayFields are permitted. + """ + test_apps = Apps(['postgres_tests']) + + class MyModel(PostgreSQLModel): + field = ArrayField(ArrayField(models.CharField())) + + class Meta: + apps = test_apps + + model = MyModel() + errors = model.check() + self.assertEqual(len(errors), 1) + # The inner CharField is missing a max_length. + self.assertEqual(errors[0].id, 'postgres.E001') + self.assertIn('max_length', errors[0].msg) + @unittest.skipUnless(connection.vendor == 'postgresql', "PostgreSQL specific tests") class TestMigrations(TransactionTestCase): |
