diff --git a/src/personalisation/adapters.py b/src/personalisation/adapters.py index 048430e..907af69 100644 --- a/src/personalisation/adapters.py +++ b/src/personalisation/adapters.py @@ -144,10 +144,10 @@ class SessionSegmentsAdapter(BaseSegmentsAdapter): session_segments = self.request.session['segments'] rules = AbstractBaseRule.__subclasses__() - # Create a list to store the new requet session segments and - # re-apply all persistent segments. + # Create a list to store the new request session segments and + # re-apply all persistent segments (if they are still enabled). new_segments = [segment for segment in session_segments - if segment in persistent_segments] + if persistent_segments.filter(id=segment['id']).exists()] # Run tests on all remaining enabled segments to verify applicability. for segment in enabled_segments: diff --git a/tests/unit/test_middleware.py b/tests/unit/test_middleware.py index 26fbc57..e16748d 100644 --- a/tests/unit/test_middleware.py +++ b/tests/unit/test_middleware.py @@ -218,7 +218,6 @@ class TestUserSegmenting(object): assert any(item['encoded_name'] == 'multiple-queries' for item in client.session['segments']) - @pytest.mark.skip def test_persistent_segmenting(self, client): segment = SegmentFactory(name='Persistent', persistent=True) query_rule = QueryRuleFactory(