diff --git a/src/wagtail_personalisation/templatetags/wagtail_personalisation_tags.py b/src/wagtail_personalisation/templatetags/wagtail_personalisation_tags.py index 19875db..6238789 100644 --- a/src/wagtail_personalisation/templatetags/wagtail_personalisation_tags.py +++ b/src/wagtail_personalisation/templatetags/wagtail_personalisation_tags.py @@ -43,7 +43,7 @@ class SegmentNode(template.Node): def render(self, context): # Check if segment exists name = self.name.resolve(context) - segment = Segment.objects.filter(name=name).first() + segment = Segment.objects.enabled().filter(name=name).first() if not segment: return "" diff --git a/tests/unit/test_templatetags.py b/tests/unit/test_templatetags.py index e847ff2..92116bb 100644 --- a/tests/unit/test_templatetags.py +++ b/tests/unit/test_templatetags.py @@ -4,27 +4,22 @@ import time import pytest from django.template import TemplateSyntaxError -from wagtail_factories import SiteFactory from tests.factories.segment import SegmentFactory -from tests.factories.rule import TimeRuleFactory -from tests.utils import render_template, add_session_to_request +from tests.utils import render_template @pytest.mark.django_db -def test_segment_template_block(rf): - site = SiteFactory(is_default_site=True) - segment = SegmentFactory(name='test') +def test_segment_template_block(rf, site): + SegmentFactory(name='test', persistent=True) request = rf.get('/') - add_session_to_request(request) - request.session['segments'] = [{ "encoded_name": 'test', "id": 1, "timestamp": int(time.time()), - "persistent": False + "persistent": True }] content = render_template(""" diff --git a/tests/utils.py b/tests/utils.py index 6d048ee..c7ed3ef 100644 --- a/tests/utils.py +++ b/tests/utils.py @@ -1,14 +1,7 @@ from django.template import engines -from django.contrib.sessions.middleware import SessionMiddleware def render_template(value, **context): template = engines['django'].from_string(value) request = context.pop('request', None) return template.render(context, request) - - -def add_session_to_request(request): - middleware = SessionMiddleware() - middleware.process_request(request) - request.session.save() \ No newline at end of file