Fixed test for adding user counter to segment
This commit is contained in:
@ -4,8 +4,10 @@ import datetime
|
|||||||
|
|
||||||
import pytest
|
import pytest
|
||||||
from django.forms.models import model_to_dict
|
from django.forms.models import model_to_dict
|
||||||
|
# from unittest.mock import patch
|
||||||
|
|
||||||
from tests.factories.segment import SegmentFactory
|
from tests.factories.segment import SegmentFactory
|
||||||
|
# from wagtail import wagtailadmin
|
||||||
from wagtail_personalisation.forms import SegmentAdminForm
|
from wagtail_personalisation.forms import SegmentAdminForm
|
||||||
from wagtail_personalisation.models import Segment
|
from wagtail_personalisation.models import Segment
|
||||||
from wagtail_personalisation.rules import (AbstractBaseRule, TimeRule,
|
from wagtail_personalisation.rules import (AbstractBaseRule, TimeRule,
|
||||||
@ -249,6 +251,22 @@ def test_dynamic_segment_with_non_static_rules_have_a_count():
|
|||||||
assert form.is_valid(), form.errors
|
assert form.is_valid(), form.errors
|
||||||
|
|
||||||
|
|
||||||
|
@pytest.mark.django_db
|
||||||
|
def test_matched_user_count_added_to_segment_at_creation(site, client, mocker, django_user_model):
|
||||||
|
django_user_model.objects.create(username='first')
|
||||||
|
django_user_model.objects.create(username='second')
|
||||||
|
|
||||||
|
segment = SegmentFactory.build(type=Segment.TYPE_STATIC)
|
||||||
|
rule = VisitCountRule()
|
||||||
|
|
||||||
|
form = form_with_data(segment, rule)
|
||||||
|
mock_test_user = mocker.patch('wagtail_personalisation.rules.VisitCountRule.test_user', return_value=True)
|
||||||
|
instance = form.save()
|
||||||
|
|
||||||
|
assert mock_test_user.call_count == 2
|
||||||
|
instance.matched_users_count = 2
|
||||||
|
|
||||||
|
|
||||||
@pytest.mark.django_db
|
@pytest.mark.django_db
|
||||||
def test_count_users_matching_static_rules(site, client, django_user_model):
|
def test_count_users_matching_static_rules(site, client, django_user_model):
|
||||||
class TestStaticRule(AbstractBaseRule):
|
class TestStaticRule(AbstractBaseRule):
|
||||||
@ -357,25 +375,3 @@ def test_count_matching_users_handles_match_all(site, client, django_user_model)
|
|||||||
form = form_with_data(segment, first_rule, s_rule)
|
form = form_with_data(segment, first_rule, s_rule)
|
||||||
|
|
||||||
assert form.count_matching_users([first_rule, s_rule], False) is 1
|
assert form.count_matching_users([first_rule, s_rule], False) is 1
|
||||||
|
|
||||||
|
|
||||||
@pytest.mark.django_db
|
|
||||||
def test_matched_user_count_added_to_segment_at_creation(site, client, django_user_model):
|
|
||||||
class TestStaticRule(AbstractBaseRule):
|
|
||||||
static = True
|
|
||||||
|
|
||||||
class Meta:
|
|
||||||
app_label = 'wagtail_personalisation'
|
|
||||||
|
|
||||||
def test_user(self, request, user):
|
|
||||||
return True
|
|
||||||
|
|
||||||
django_user_model.objects.create(username='first')
|
|
||||||
django_user_model.objects.create(username='second')
|
|
||||||
|
|
||||||
segment = SegmentFactory.build(type=Segment.TYPE_STATIC)
|
|
||||||
rule = TestStaticRule()
|
|
||||||
form = form_with_data(segment, rule)
|
|
||||||
instance = form.save()
|
|
||||||
|
|
||||||
assert instance.matched_users_count is 2
|
|
||||||
|
Reference in New Issue
Block a user