Use correct filenames for the tests (and split some)
This commit is contained in:
90
tests/unit/test_rules_mixed.py
Normal file
90
tests/unit/test_rules_mixed.py
Normal file
@ -0,0 +1,90 @@
|
||||
from __future__ import absolute_import, unicode_literals
|
||||
|
||||
import datetime
|
||||
|
||||
import pytest
|
||||
from freezegun import freeze_time
|
||||
|
||||
from tests.factories.rule import ReferralRuleFactory, TimeRuleFactory
|
||||
from tests.factories.segment import SegmentFactory
|
||||
|
||||
|
||||
@pytest.mark.django_db
|
||||
def test_no_segments(client, site):
|
||||
response = client.get('/')
|
||||
assert response.status_code == 200
|
||||
assert client.session['segments'] == []
|
||||
|
||||
|
||||
@pytest.mark.django_db
|
||||
def test_referral_segment(client, site):
|
||||
referral_segment = SegmentFactory(name='Referral')
|
||||
ReferralRuleFactory(
|
||||
regex_string="test.test",
|
||||
segment=referral_segment
|
||||
)
|
||||
|
||||
response = client.get('/', **{'HTTP_REFERER': 'test.test'})
|
||||
assert response.status_code == 200
|
||||
|
||||
assert client.session['segments'][0]['encoded_name'] == 'referral'
|
||||
|
||||
|
||||
@pytest.mark.django_db
|
||||
@freeze_time("10:00:00")
|
||||
def test_time_and_referral_segment(client, site):
|
||||
segment = SegmentFactory(name='Both')
|
||||
TimeRuleFactory(
|
||||
start_time=datetime.time(8, 0, 0),
|
||||
end_time=datetime.time(23, 0, 0),
|
||||
segment=segment
|
||||
)
|
||||
ReferralRuleFactory(
|
||||
regex_string="test.test",
|
||||
segment=segment
|
||||
)
|
||||
|
||||
response = client.get('/', **{'HTTP_REFERER': 'test.test'})
|
||||
assert response.status_code == 200
|
||||
|
||||
assert client.session['segments'][0]['encoded_name'] == 'both'
|
||||
|
||||
|
||||
@pytest.mark.django_db
|
||||
@freeze_time("7:00:00")
|
||||
def test_no_time_but_referral_segment(client, site):
|
||||
segment = SegmentFactory(name='Not both')
|
||||
TimeRuleFactory(
|
||||
start_time=datetime.time(8, 0, 0),
|
||||
end_time=datetime.time(23, 0, 0),
|
||||
segment=segment
|
||||
)
|
||||
ReferralRuleFactory(
|
||||
regex_string="test.test",
|
||||
segment=segment
|
||||
)
|
||||
|
||||
response = client.get('/', **{'HTTP_REFERER': 'test.test'})
|
||||
assert response.status_code == 200
|
||||
|
||||
assert len(client.session['segments']) == 0
|
||||
|
||||
|
||||
@pytest.mark.django_db
|
||||
@freeze_time("9:00:00")
|
||||
def test_time_but_no_referral_segment(client, site):
|
||||
segment = SegmentFactory(name='Not both')
|
||||
TimeRuleFactory(
|
||||
start_time=datetime.time(8, 0, 0),
|
||||
end_time=datetime.time(23, 0, 0),
|
||||
segment=segment
|
||||
)
|
||||
ReferralRuleFactory(
|
||||
regex_string="test.test",
|
||||
segment=segment
|
||||
)
|
||||
|
||||
response = client.get('/')
|
||||
assert response.status_code == 200
|
||||
|
||||
assert len(client.session['segments']) == 0
|
Reference in New Issue
Block a user