fixes match any testing
This commit is contained in:
@ -24,14 +24,17 @@ class BaseSegmentsAdapter(object):
|
||||
def check_segment_exists(self):
|
||||
return None
|
||||
|
||||
def _test_rules(self, rules, request):
|
||||
def _test_rules(self, rules, request, match_any=False):
|
||||
if len(rules) > 0:
|
||||
for rule in rules:
|
||||
result = rule.test_user(request)
|
||||
if match_any:
|
||||
if result is True:
|
||||
return result
|
||||
|
||||
if result is False:
|
||||
elif result is False:
|
||||
return False
|
||||
|
||||
if not match_any:
|
||||
return True
|
||||
return False
|
||||
|
||||
@ -81,7 +84,7 @@ class SessionSegmentsAdapter(BaseSegmentsAdapter):
|
||||
segment_rules = []
|
||||
for rule in rules:
|
||||
segment_rules += rule.objects.filter(segment=segment)
|
||||
result = self._test_rules(segment_rules, self.request)
|
||||
result = self._test_rules(segment_rules, self.request, match_any=segment.match_any)
|
||||
|
||||
if result:
|
||||
self.add(segment)
|
||||
|
@ -336,7 +336,7 @@ class PersonalisablePage(Page):
|
||||
return not self.canonical_page and self.has_variations
|
||||
|
||||
|
||||
@cached_classmethodx
|
||||
@cached_classmethod
|
||||
def get_edit_handler(cls):
|
||||
tabs = []
|
||||
if cls.content_panels:
|
||||
|
@ -227,8 +227,6 @@ class TestUserSegmenting(object):
|
||||
)
|
||||
|
||||
client.get('/?test=test')
|
||||
import pdb
|
||||
pdb.set_trace()
|
||||
|
||||
assert any(item['encoded_name'] == 'match-any' for item in client.session['segments'])
|
||||
|
||||
|
Reference in New Issue
Block a user