summaryrefslogtreecommitdiff
path: root/tests/admin_utils
diff options
context:
space:
mode:
authorSanyam Khurana <8039608+CuriousLearner@users.noreply.github.com>2019-06-14 21:50:29 +0530
committerCarlton Gibson <carlton.gibson@noumenal.es>2019-06-14 18:20:29 +0200
commit87f5d07eededc86f8ce1797fdfca7d4903ee0edc (patch)
treecb44a913de3732b615e76ef0444499558a00ffbd /tests/admin_utils
parent1564e42ad397021093585147875a21dae1a3b3fc (diff)
downloaddjango-87f5d07eededc86f8ce1797fdfca7d4903ee0edc.tar.gz
Fixed #12952 -- Adjusted admin log change messages to use form labels instead of field names.
Diffstat (limited to 'tests/admin_utils')
-rw-r--r--tests/admin_utils/admin.py19
-rw-r--r--tests/admin_utils/test_logentry.py20
2 files changed, 30 insertions, 9 deletions
diff --git a/tests/admin_utils/admin.py b/tests/admin_utils/admin.py
index a161322bc2..33c791769b 100644
--- a/tests/admin_utils/admin.py
+++ b/tests/admin_utils/admin.py
@@ -1,11 +1,30 @@
+from django import forms
from django.contrib import admin
from .models import Article, ArticleProxy, Site
+class ArticleAdminForm(forms.ModelForm):
+ nolabel_form_field = forms.BooleanField(required=False)
+
+ class Meta:
+ model = Article
+ fields = ['title']
+
+ @property
+ def changed_data(self):
+ data = super().changed_data
+ if data:
+ # Add arbitrary name to changed_data to test
+ # change message construction.
+ return data + ['not_a_form_field']
+ return data
+
+
class ArticleInline(admin.TabularInline):
model = Article
fields = ['title']
+ form = ArticleAdminForm
class SiteAdmin(admin.ModelAdmin):
diff --git a/tests/admin_utils/test_logentry.py b/tests/admin_utils/test_logentry.py
index b56b209433..c2dec073f4 100644
--- a/tests/admin_utils/test_logentry.py
+++ b/tests/admin_utils/test_logentry.py
@@ -53,9 +53,9 @@ class LogEntryTests(TestCase):
response = self.client.post(change_url, post_data)
self.assertRedirects(response, reverse('admin:admin_utils_article_changelist'))
logentry = LogEntry.objects.filter(content_type__model__iexact='article').latest('id')
- self.assertEqual(logentry.get_change_message(), 'Changed title and hist.')
+ self.assertEqual(logentry.get_change_message(), 'Changed Title and History.')
with translation.override('fr'):
- self.assertEqual(logentry.get_change_message(), 'Modification de title et hist.')
+ self.assertEqual(logentry.get_change_message(), 'Modification de Title et Historique.')
add_url = reverse('admin:admin_utils_article_add')
post_data['title'] = 'New'
@@ -85,7 +85,7 @@ class LogEntryTests(TestCase):
response = self.client.post(change_url, post_data)
self.assertRedirects(response, reverse('admin:admin_utils_article_changelist'))
logentry = LogEntry.objects.filter(content_type__model__iexact='article').latest('id')
- self.assertEqual(logentry.get_change_message(), 'Changed title and hist.')
+ self.assertEqual(logentry.get_change_message(), 'Changed Title and History.')
def test_logentry_change_message_formsets(self):
"""
@@ -123,23 +123,25 @@ class LogEntryTests(TestCase):
self.assertEqual(
json.loads(logentry.change_message),
[
- {"changed": {"fields": ["domain"]}},
+ {"changed": {"fields": ["Domain"]}},
{"added": {"object": "Added article", "name": "article"}},
- {"changed": {"fields": ["title"], "object": "Changed Title", "name": "article"}},
+ {"changed": {"fields": ["Title", "not_a_form_field"], "object": "Changed Title", "name": "article"}},
{"deleted": {"object": "Title second article", "name": "article"}},
]
)
self.assertEqual(
logentry.get_change_message(),
- 'Changed domain. Added article "Added article". '
- 'Changed title for article "Changed Title". Deleted article "Title second article".'
+ 'Changed Domain. Added article "Added article". '
+ 'Changed Title and not_a_form_field for article "Changed Title". '
+ 'Deleted article "Title second article".'
)
with translation.override('fr'):
self.assertEqual(
logentry.get_change_message(),
- "Modification de domain. Ajout de article « Added article ». "
- "Modification de title pour l'objet article « Changed Title ». "
+ "Modification de Domain. Ajout de article « Added article ». "
+ "Modification de Title et not_a_form_field pour l'objet "
+ "article « Changed Title ». "
"Suppression de article « Title second article »."
)