diff --git a/tests/unit/test_static_dynamic_segments.py b/tests/unit/test_static_dynamic_segments.py index 4abd6ed..b43a296 100644 --- a/tests/unit/test_static_dynamic_segments.py +++ b/tests/unit/test_static_dynamic_segments.py @@ -347,6 +347,38 @@ def test_always_in_segment_if_percentage_is_100(site, client, mocker, user): assert user in instance.static_users.all() +@pytest.mark.django_db +def test_not_added_to_static_segment_at_creation_if_random_above_percent(site, client, mocker, user): + session = client.session + session.save() + client.force_login(user) + client.get(site.root_page.url) + + mocker.patch('random.randint', return_value=41) + segment = SegmentFactory.build(type=Segment.TYPE_STATIC, randomisation_percent=40) + rule = VisitCountRule(counted_page=site.root_page) + form = form_with_data(segment, rule) + instance = form.save() + + assert user not in instance.static_users.all() + + +@pytest.mark.django_db +def test_added_to_static_segment_at_creation_if_random_below_percent(site, client, mocker, user): + session = client.session + session.save() + client.force_login(user) + client.get(site.root_page.url) + + mocker.patch('random.randint', return_value=39) + segment = SegmentFactory.build(type=Segment.TYPE_STATIC, randomisation_percent=40) + rule = VisitCountRule(counted_page=site.root_page) + form = form_with_data(segment, rule) + instance = form.save() + + assert user in instance.static_users.all() + + @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')