summaryrefslogtreecommitdiff
path: root/tests/regressiontests/admin_validation
diff options
context:
space:
mode:
Diffstat (limited to 'tests/regressiontests/admin_validation')
-rw-r--r--tests/regressiontests/admin_validation/models.py8
-rw-r--r--tests/regressiontests/admin_validation/tests.py16
2 files changed, 19 insertions, 5 deletions
diff --git a/tests/regressiontests/admin_validation/models.py b/tests/regressiontests/admin_validation/models.py
index 24387cc363..5e080a9232 100644
--- a/tests/regressiontests/admin_validation/models.py
+++ b/tests/regressiontests/admin_validation/models.py
@@ -45,3 +45,11 @@ class Book(models.Model):
class AuthorsBooks(models.Model):
author = models.ForeignKey(Author)
book = models.ForeignKey(Book)
+
+
+class State(models.Model):
+ name = models.CharField(max_length=15)
+
+
+class City(models.Model):
+ state = models.ForeignKey(State)
diff --git a/tests/regressiontests/admin_validation/tests.py b/tests/regressiontests/admin_validation/tests.py
index 1872ca55e2..6fbdc8040e 100644
--- a/tests/regressiontests/admin_validation/tests.py
+++ b/tests/regressiontests/admin_validation/tests.py
@@ -4,7 +4,7 @@ from django.contrib.admin.validation import validate, validate_inline, \
ImproperlyConfigured
from django.test import TestCase
-from models import Song, Book, Album, TwoAlbumFKAndAnE
+from models import Song, Book, Album, TwoAlbumFKAndAnE, State, City
class SongForm(forms.ModelForm):
pass
@@ -162,6 +162,16 @@ class ValidationTestCase(TestCase):
validate,
SongAdmin, Song)
+ def test_nonexistant_field_on_inline(self):
+ class CityInline(admin.TabularInline):
+ model = City
+ readonly_fields=['i_dont_exist'] # Missing attribute
+
+ self.assertRaisesMessage(ImproperlyConfigured,
+ "CityInline.readonly_fields[0], 'i_dont_exist' is not a callable or an attribute of 'CityInline' or found in the model 'City'.",
+ validate_inline,
+ CityInline, None, State)
+
def test_extra(self):
class SongAdmin(admin.ModelAdmin):
def awesome_song(self, instance):
@@ -241,7 +251,3 @@ class ValidationTestCase(TestCase):
fields = ['title', 'extra_data']
validate(FieldsOnFormOnlyAdmin, Song)
-
-
-
-