Better RequestContext handling in Django 1.8 during tests
This commit is contained in:
parent
87ffaf6d3f
commit
98c0e1964d
1 changed files with 44 additions and 10 deletions
|
@ -4,6 +4,7 @@ import re
|
||||||
from cms.api import add_plugin
|
from cms.api import add_plugin
|
||||||
from django.core.urlresolvers import reverse
|
from django.core.urlresolvers import reverse
|
||||||
from django.template import RequestContext
|
from django.template import RequestContext
|
||||||
|
from django.template.loader import get_template
|
||||||
from django.utils.timezone import now
|
from django.utils.timezone import now
|
||||||
from djangocms_blog.models import BlogCategory
|
from djangocms_blog.models import BlogCategory
|
||||||
from taggit.models import Tag
|
from taggit.models import Tag
|
||||||
|
@ -26,7 +27,13 @@ class PluginTest(BaseTest):
|
||||||
tag = Tag.objects.get(slug='tag-1')
|
tag = Tag.objects.get(slug='tag-1')
|
||||||
plugin.tags.add(tag)
|
plugin.tags.add(tag)
|
||||||
request = self.get_page_request(page1, self.user, r'/en/blog/', lang_code='en', edit=True)
|
request = self.get_page_request(page1, self.user, r'/en/blog/', lang_code='en', edit=True)
|
||||||
context = RequestContext(request, {'request': request})
|
|
||||||
|
context = RequestContext(request)
|
||||||
|
try:
|
||||||
|
template = get_template('page.html').template
|
||||||
|
with context.bind_template(template):
|
||||||
|
rendered = plugin.render_plugin(context, ph)
|
||||||
|
except AttributeError:
|
||||||
rendered = plugin.render_plugin(context, ph)
|
rendered = plugin.render_plugin(context, ph)
|
||||||
self.assertTrue(rendered.find('cms_plugin-djangocms_blog-post-abstract-1') > -1)
|
self.assertTrue(rendered.find('cms_plugin-djangocms_blog-post-abstract-1') > -1)
|
||||||
self.assertTrue(rendered.find(reverse('djangocms_blog:posts-tagged', kwargs={'tag': tag.slug})) > -1)
|
self.assertTrue(rendered.find(reverse('djangocms_blog:posts-tagged', kwargs={'tag': tag.slug})) > -1)
|
||||||
|
@ -43,7 +50,12 @@ class PluginTest(BaseTest):
|
||||||
plugin = add_plugin(ph, 'BlogLatestEntriesPlugin', language='en')
|
plugin = add_plugin(ph, 'BlogLatestEntriesPlugin', language='en')
|
||||||
plugin.categories.add(category_2)
|
plugin.categories.add(category_2)
|
||||||
request = self.get_page_request(page1, self.user, r'/en/blog/', lang_code='en', edit=True)
|
request = self.get_page_request(page1, self.user, r'/en/blog/', lang_code='en', edit=True)
|
||||||
context = RequestContext(request, {'request': request})
|
context = RequestContext(request)
|
||||||
|
try:
|
||||||
|
template = get_template('page.html').template
|
||||||
|
with context.bind_template(template):
|
||||||
|
rendered = plugin.render_plugin(context, ph)
|
||||||
|
except AttributeError:
|
||||||
rendered = plugin.render_plugin(context, ph)
|
rendered = plugin.render_plugin(context, ph)
|
||||||
self.assertTrue(rendered.find('cms_plugin-djangocms_blog-post-abstract-2') > -1)
|
self.assertTrue(rendered.find('cms_plugin-djangocms_blog-post-abstract-2') > -1)
|
||||||
self.assertTrue(rendered.find(reverse('djangocms_blog:posts-category', kwargs={'category': category_2.slug})) > -1)
|
self.assertTrue(rendered.find(reverse('djangocms_blog:posts-category', kwargs={'category': category_2.slug})) > -1)
|
||||||
|
@ -63,7 +75,12 @@ class PluginTest(BaseTest):
|
||||||
plugin = add_plugin(ph, 'BlogAuthorPostsPlugin', language='en')
|
plugin = add_plugin(ph, 'BlogAuthorPostsPlugin', language='en')
|
||||||
plugin.authors.add(self.user)
|
plugin.authors.add(self.user)
|
||||||
request = self.get_page_request(page1, self.user, r'/en/blog/', lang_code='en', edit=True)
|
request = self.get_page_request(page1, self.user, r'/en/blog/', lang_code='en', edit=True)
|
||||||
context = RequestContext(request, {'request': request})
|
context = RequestContext(request)
|
||||||
|
try:
|
||||||
|
template = get_template('page.html').template
|
||||||
|
with context.bind_template(template):
|
||||||
|
rendered = plugin.render_plugin(context, ph)
|
||||||
|
except AttributeError:
|
||||||
rendered = plugin.render_plugin(context, ph)
|
rendered = plugin.render_plugin(context, ph)
|
||||||
self.assertTrue(rendered.find(reverse('djangocms_blog:posts-author', kwargs={'username': self.user.get_username()})) > -1)
|
self.assertTrue(rendered.find(reverse('djangocms_blog:posts-author', kwargs={'username': self.user.get_username()})) > -1)
|
||||||
self.assertTrue(rendered.find('2 articles') > -1)
|
self.assertTrue(rendered.find('2 articles') > -1)
|
||||||
|
@ -81,8 +98,13 @@ class PluginTest(BaseTest):
|
||||||
ph = page1.placeholders.get(slot='content')
|
ph = page1.placeholders.get(slot='content')
|
||||||
plugin = add_plugin(ph, 'BlogTagsPlugin', language='en')
|
plugin = add_plugin(ph, 'BlogTagsPlugin', language='en')
|
||||||
request = self.get_page_request(page1, self.user, r'/en/blog/', lang_code='en', edit=True)
|
request = self.get_page_request(page1, self.user, r'/en/blog/', lang_code='en', edit=True)
|
||||||
context = RequestContext(request, {'request': request})
|
context = RequestContext(request)
|
||||||
rendered = plugin.render_plugin(context, ph).replace("\n", "")
|
try:
|
||||||
|
template = get_template('page.html').template
|
||||||
|
with context.bind_template(template):
|
||||||
|
rendered = plugin.render_plugin(context, ph).replace('\n', '')
|
||||||
|
except AttributeError:
|
||||||
|
rendered = plugin.render_plugin(context, ph).replace('\n', '')
|
||||||
for tag in Tag.objects.all():
|
for tag in Tag.objects.all():
|
||||||
self.assertTrue(rendered.find(reverse('djangocms_blog:posts-tagged', kwargs={'tag': tag.slug})) > -1)
|
self.assertTrue(rendered.find(reverse('djangocms_blog:posts-tagged', kwargs={'tag': tag.slug})) > -1)
|
||||||
if tag.slug == 'test-tag':
|
if tag.slug == 'test-tag':
|
||||||
|
@ -103,7 +125,13 @@ class PluginTest(BaseTest):
|
||||||
plugin = add_plugin(ph, 'BlogCategoryPlugin', language='en')
|
plugin = add_plugin(ph, 'BlogCategoryPlugin', language='en')
|
||||||
request = self.get_page_request(page1, self.user, r'/en/blog/', lang_code='en', edit=True)
|
request = self.get_page_request(page1, self.user, r'/en/blog/', lang_code='en', edit=True)
|
||||||
plugin_class = plugin.get_plugin_class_instance()
|
plugin_class = plugin.get_plugin_class_instance()
|
||||||
context = plugin_class.render(RequestContext(request, {'request': request}), plugin, ph)
|
context = RequestContext(request)
|
||||||
|
try:
|
||||||
|
template = get_template('page.html').template
|
||||||
|
with context.bind_template(template):
|
||||||
|
context = plugin_class.render(context, plugin, ph)
|
||||||
|
except AttributeError:
|
||||||
|
context = plugin_class.render(context, plugin, ph)
|
||||||
self.assertTrue(context['categories'])
|
self.assertTrue(context['categories'])
|
||||||
self.assertEqual(list(context['categories']), [self.category_1])
|
self.assertEqual(list(context['categories']), [self.category_1])
|
||||||
|
|
||||||
|
@ -118,7 +146,13 @@ class PluginTest(BaseTest):
|
||||||
plugin = add_plugin(ph, 'BlogArchivePlugin', language='en')
|
plugin = add_plugin(ph, 'BlogArchivePlugin', language='en')
|
||||||
request = self.get_page_request(page1, self.user, r'/en/blog/', lang_code='en', edit=True)
|
request = self.get_page_request(page1, self.user, r'/en/blog/', lang_code='en', edit=True)
|
||||||
plugin_class = plugin.get_plugin_class_instance()
|
plugin_class = plugin.get_plugin_class_instance()
|
||||||
context = plugin_class.render(RequestContext(request, {'request': request}), plugin, ph)
|
context = RequestContext(request)
|
||||||
|
try:
|
||||||
|
template = get_template('page.html').template
|
||||||
|
with context.bind_template(template):
|
||||||
|
context = plugin_class.render(context, plugin, ph)
|
||||||
|
except AttributeError:
|
||||||
|
context = plugin_class.render(context, plugin, ph)
|
||||||
self.assertEqual(context['dates'][0]['date'].date(), now().replace(year=now().year, month=now().month, day=1).date())
|
self.assertEqual(context['dates'][0]['date'].date(), now().replace(year=now().year, month=now().month, day=1).date())
|
||||||
self.assertEqual(context['dates'][0]['count'], 2)
|
self.assertEqual(context['dates'][0]['count'], 2)
|
||||||
|
|
||||||
|
|
Loading…
Reference in a new issue