import datetime import pytest from freezegun import freeze_time from tests.factories.rule import TimeRuleFactory from tests.factories.segment import SegmentFactory @pytest.mark.django_db def test_time_rule_create(): segment = SegmentFactory(name='TimeSegment') time_rule = TimeRuleFactory( start_time=datetime.time(8, 0, 0), end_time=datetime.time(23, 0, 0), segment=segment) assert time_rule.start_time == datetime.time(8, 0, 0) @pytest.mark.django_db @freeze_time("10:00:00") def test_requesttime_segment(client, site): time_only_segment = SegmentFactory(name='Time only') TimeRuleFactory( start_time=datetime.time(8, 0, 0), end_time=datetime.time(23, 0, 0), segment=time_only_segment) response = client.get('/') assert response.status_code == 200 assert client.session['segments'][0]['encoded_name'] == 'time-only'