Fix templatetag tests
This commit is contained in:
committed by
Michael van Tellingen
parent
82f2dd460e
commit
e6fac5f7fb
@@ -43,7 +43,7 @@ class SegmentNode(template.Node):
|
|||||||
def render(self, context):
|
def render(self, context):
|
||||||
# Check if segment exists
|
# Check if segment exists
|
||||||
name = self.name.resolve(context)
|
name = self.name.resolve(context)
|
||||||
segment = Segment.objects.filter(name=name).first()
|
segment = Segment.objects.enabled().filter(name=name).first()
|
||||||
if not segment:
|
if not segment:
|
||||||
return ""
|
return ""
|
||||||
|
|
||||||
|
@@ -4,27 +4,22 @@ import time
|
|||||||
|
|
||||||
import pytest
|
import pytest
|
||||||
from django.template import TemplateSyntaxError
|
from django.template import TemplateSyntaxError
|
||||||
from wagtail_factories import SiteFactory
|
|
||||||
|
|
||||||
from tests.factories.segment import SegmentFactory
|
from tests.factories.segment import SegmentFactory
|
||||||
from tests.factories.rule import TimeRuleFactory
|
from tests.utils import render_template
|
||||||
from tests.utils import render_template, add_session_to_request
|
|
||||||
|
|
||||||
|
|
||||||
@pytest.mark.django_db
|
@pytest.mark.django_db
|
||||||
def test_segment_template_block(rf):
|
def test_segment_template_block(rf, site):
|
||||||
site = SiteFactory(is_default_site=True)
|
SegmentFactory(name='test', persistent=True)
|
||||||
segment = SegmentFactory(name='test')
|
|
||||||
|
|
||||||
request = rf.get('/')
|
request = rf.get('/')
|
||||||
|
|
||||||
add_session_to_request(request)
|
|
||||||
|
|
||||||
request.session['segments'] = [{
|
request.session['segments'] = [{
|
||||||
"encoded_name": 'test',
|
"encoded_name": 'test',
|
||||||
"id": 1,
|
"id": 1,
|
||||||
"timestamp": int(time.time()),
|
"timestamp": int(time.time()),
|
||||||
"persistent": False
|
"persistent": True
|
||||||
}]
|
}]
|
||||||
|
|
||||||
content = render_template("""
|
content = render_template("""
|
||||||
|
@@ -1,14 +1,7 @@
|
|||||||
from django.template import engines
|
from django.template import engines
|
||||||
from django.contrib.sessions.middleware import SessionMiddleware
|
|
||||||
|
|
||||||
|
|
||||||
def render_template(value, **context):
|
def render_template(value, **context):
|
||||||
template = engines['django'].from_string(value)
|
template = engines['django'].from_string(value)
|
||||||
request = context.pop('request', None)
|
request = context.pop('request', None)
|
||||||
return template.render(context, request)
|
return template.render(context, request)
|
||||||
|
|
||||||
|
|
||||||
def add_session_to_request(request):
|
|
||||||
middleware = SessionMiddleware()
|
|
||||||
middleware.process_request(request)
|
|
||||||
request.session.save()
|
|
Reference in New Issue
Block a user