From 510ed6d7c78fd574c9a333e3e0a4f57f187b54cd Mon Sep 17 00:00:00 2001 From: Boris Besemer Date: Thu, 1 Dec 2016 12:00:51 +0100 Subject: [PATCH] adds a few more middleware tests --- tests/unit/test_middleware.py | 51 +++++++++++++++++++++++++++++++++++ 1 file changed, 51 insertions(+) diff --git a/tests/unit/test_middleware.py b/tests/unit/test_middleware.py index ace5d29..53c6236 100644 --- a/tests/unit/test_middleware.py +++ b/tests/unit/test_middleware.py @@ -45,3 +45,54 @@ class TestUserSegmenting(object): client.get('/', **{ 'HTTP_REFERER': 'test.test'}) assert client.session['segments'][0]['encoded_name'] == 'referral' + + @freeze_time("10:00:00") + def test_time_and_referral_segment(self, client): + segment = SegmentFactory(name='Both') + time_rule = TimeRuleFactory( + start_time=datetime.time(8, 0, 0), + end_time=datetime.time(23, 0, 0), + segment=segment + ) + referral_rule = ReferralRuleFactory( + regex_string="test.test", + segment=segment + ) + + client.get('/', **{ 'HTTP_REFERER': 'test.test'}) + + assert client.session['segments'][0]['encoded_name'] == 'both' + + @freeze_time("7:00:00") + def test_no_time_but_referral_segment(self, client): + segment = SegmentFactory(name='Not both') + time_rule = TimeRuleFactory( + start_time=datetime.time(8, 0, 0), + end_time=datetime.time(23, 0, 0), + segment=segment + ) + referral_rule = ReferralRuleFactory( + regex_string="test.test", + segment=segment + ) + + client.get('/', **{ 'HTTP_REFERER': 'test.test'}) + + assert len(client.session['segments']) == 0 + + @freeze_time("9:00:00") + def test_time_but_no_referral_segment(self, client): + segment = SegmentFactory(name='Not both') + time_rule = TimeRuleFactory( + start_time=datetime.time(8, 0, 0), + end_time=datetime.time(23, 0, 0), + segment=segment + ) + referral_rule = ReferralRuleFactory( + regex_string="test.test", + segment=segment + ) + + client.get('/') + + assert len(client.session['segments']) == 0