from datetime import date from django.utils.safestring import SafeString import pytest from aircox import converters @pytest.fixture def page_path_conv(): return converters.PagePathConverter() @pytest.fixture def week_conv(): return converters.WeekConverter() @pytest.fixture def date_conv(): return converters.DateConverter() class TestPagePathConverter: def test_to_python(self, page_path_conv): val = "path_value" result = page_path_conv.to_python(val) assert result == "/" + val + "/" def test_to_url(self, page_path_conv): val = "/val" result = page_path_conv.to_url(val) assert isinstance(result, SafeString) assert result == val[1:] + "/" class TestWeekConverter: def test_to_python(self, week_conv): val = "2023/02" assert week_conv.to_python(val) == date(2023, 1, 9) def test_to_url(self, week_conv): val = date(2023, 1, 10) assert week_conv.to_url(val) == "2023/02" class TestDateConverter: def test_to_python(self, date_conv): val = "2023/02/05" assert date_conv.to_python(val) == date(2023, 2, 5) def test_to_url(self, date_conv): val = date(2023, 5, 10) assert date_conv.to_url(val) == "2023/05/10"