1
0
mirror of https://github.com/django/django.git synced 2025-07-12 05:39:11 +00:00
django/tests/admin_views/test_history_view.py
django-bot 6a682b38e7 [4.0.x] Refs #33476 -- Reformatted code with Black.
Backport of 9c19aff7c7561e3a82978a272ecdaad40dda5c00 from main.
2022-02-08 12:15:38 +01:00

49 lines
1.7 KiB
Python
Raw Permalink Blame History

This file contains ambiguous Unicode characters

This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.

from django.contrib.admin.models import LogEntry
from django.contrib.auth.models import User
from django.test import TestCase, override_settings
from django.urls import reverse
from .models import City, State
@override_settings(ROOT_URLCONF="admin_views.urls")
class AdminHistoryViewTests(TestCase):
@classmethod
def setUpTestData(cls):
cls.superuser = User.objects.create_superuser(
username="super",
password="secret",
email="super@example.com",
)
def setUp(self):
self.client.force_login(self.superuser)
def test_changed_message_uses_form_labels(self):
"""
Admin's model history change messages use form labels instead of
field names.
"""
state = State.objects.create(name="My State Name")
city = City.objects.create(name="My City Name", state=state)
change_dict = {
"name": "My State Name 2",
"nolabel_form_field": True,
"city_set-0-name": "My City name 2",
"city_set-0-id": city.pk,
"city_set-TOTAL_FORMS": "3",
"city_set-INITIAL_FORMS": "1",
"city_set-MAX_NUM_FORMS": "0",
}
state_change_url = reverse("admin:admin_views_state_change", args=(state.pk,))
self.client.post(state_change_url, change_dict)
logentry = LogEntry.objects.filter(content_type__model__iexact="state").latest(
"id"
)
self.assertEqual(
logentry.get_change_message(),
"Changed State name (from forms Meta.labels), "
"nolabel_form_field and not_a_form_field. "
"Changed City verbose_name for city “%s”." % city,
)