Skip to content

Commit 8f601d3

Browse files
committed
Moved HistoryRequestMiddleware to specific test
1 parent c30c382 commit 8f601d3

File tree

2 files changed

+26
-2
lines changed

2 files changed

+26
-2
lines changed

runtests.py

Lines changed: 0 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -37,7 +37,6 @@
3737
'django.contrib.sessions.middleware.SessionMiddleware',
3838
'django.contrib.auth.middleware.AuthenticationMiddleware',
3939
'django.contrib.messages.middleware.MessageMiddleware',
40-
'simple_history.middleware.HistoryRequestMiddleware',
4140
],
4241
)
4342

simple_history/tests/tests/test_admin.py

Lines changed: 26 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,6 @@
11
from datetime import datetime, timedelta
22
from django_webtest import WebTest
3+
from django.test.utils import override_settings
34
from django import VERSION
45
from django.core.urlresolvers import reverse
56
try:
@@ -8,6 +9,7 @@
89
except ImportError: # django 1.4 compatibility
910
from django.contrib.auth.models import User
1011
from django.contrib.admin.util import quote
12+
from django.conf import settings
1113

1214
from ..models import Book, Person, Poll
1315

@@ -114,7 +116,7 @@ def test_history_form(self):
114116
self.assertEqual(poll.question, "what?")
115117
self.assertEqual(poll.pub_date, tomorrow)
116118
self.assertEqual([p.history_user for p in Poll.history.all()],
117-
[self.user] * 3)
119+
[self.user, None, None])
118120

119121
def test_history_user_on_save_in_admin(self):
120122
self.login()
@@ -156,3 +158,26 @@ def test_historical_user_with_setter(self):
156158
self.login()
157159
add_page = self.app.get(reverse('admin:tests_paper_add'))
158160
add_page.form.submit()
161+
162+
def test_history_user_not_saved(self):
163+
self.login()
164+
poll = Poll.objects.create(question="why?", pub_date=today)
165+
historical_poll = poll.history.all()[0]
166+
self.assertIsNone(
167+
historical_poll.history_user,
168+
"No way to know of request, history_user should be unset.",
169+
)
170+
171+
def test_middleware_saves_user(self):
172+
overridden_settings = {
173+
'MIDDLEWARE_CLASSES':
174+
settings.MIDDLEWARE_CLASSES
175+
+ ['simple_history.middleware.HistoryRequestMiddleware'],
176+
}
177+
with override_settings(**overridden_settings):
178+
self.login()
179+
poll = Poll.objects.create(question="why?", pub_date=today)
180+
historical_poll = poll.history.all()[0]
181+
self.assertEqual(historical_poll.history_user, self.user,
182+
"Middleware should make the request available to "
183+
"retrieve history_user.")

0 commit comments

Comments
 (0)