6
0
This repository has been archived on 2023-05-07. You can view files and clone it, but cannot push or open issues or pull requests.
cavemanon-wagtail-personali.../tests/unit/test_rules_device.py
2022-11-18 17:44:17 +00:00

41 lines
1.1 KiB
Python

import pytest
from tests.factories.rule import DeviceRuleFactory
from tests.factories.segment import SegmentFactory
@pytest.mark.django_db
def test_device_rule_create():
segment = SegmentFactory(name="DeviceSegment")
device_rule = DeviceRuleFactory(mobile=True, segment=segment)
assert device_rule.mobile is True
assert device_rule.tablet is False
assert device_rule.desktop is False
@pytest.mark.django_db
def test_request_device_segment(client, site):
device_only_segment = SegmentFactory(name="Device only")
DeviceRuleFactory(tablet=True, segment=device_only_segment)
client.get(
"/",
**{"HTTP_USER_AGENT": "Mozilla/5.0(iPad; U; CPU iPhone OS 3_2 like Mac OS X)"}
)
assert client.session["segments"][0]["encoded_name"] == "device-only"
@pytest.mark.django_db
def test_request_device_segment_no_match(client, site):
no_device_segment = SegmentFactory(name="No device")
DeviceRuleFactory(mobile=True, segment=no_device_segment)
client.get(
"/",
**{"HTTP_USER_AGENT": "Mozilla/5.0(iPad; U; CPU iPhone OS 3_2 like Mac OS X)"}
)
assert not client.session["segments"]