mirror of
https://github.com/boostorg/website-v2.git
synced 2026-01-19 04:42:17 +00:00
59 lines
1.7 KiB
Python
59 lines
1.7 KiB
Python
from datetime import datetime, timezone
|
|
from django.utils.timezone import make_aware
|
|
from ..feeds import RSSVersionFeed, AtomVersionFeed
|
|
|
|
|
|
def test_items(version, old_version):
|
|
feed = RSSVersionFeed()
|
|
items = feed.items()
|
|
assert len(items) == 2
|
|
# Assert sorting
|
|
assert items[0] == version
|
|
# Assert all versions are present
|
|
assert old_version in items
|
|
|
|
|
|
def test_item_pubdate(version):
|
|
feed = RSSVersionFeed()
|
|
expected_datetime = make_aware(
|
|
datetime.combine(version.release_date, datetime.min.time()),
|
|
timezone=timezone.utc,
|
|
)
|
|
assert feed.item_pubdate(version) == expected_datetime
|
|
|
|
|
|
def test_item_description_with_release_notes(version, rendered_content):
|
|
rendered_content.cache_key = version.release_notes_cache_key
|
|
rendered_content.save()
|
|
feed = RSSVersionFeed()
|
|
assert feed.item_description(version) == rendered_content.content_html
|
|
|
|
|
|
def test_item_description_without_release_notes(version):
|
|
feed = RSSVersionFeed()
|
|
assert feed.item_description(version) is None
|
|
|
|
|
|
def test_item_title(version):
|
|
feed = RSSVersionFeed()
|
|
assert feed.item_title(version) == f"Version {version.display_name}"
|
|
|
|
|
|
def test_items_atom(version, old_version):
|
|
feed = AtomVersionFeed()
|
|
items = feed.items()
|
|
assert len(items) == 2
|
|
# Assert sorting
|
|
assert items[0] == version
|
|
# Assert all versions are present
|
|
assert old_version in items
|
|
|
|
|
|
def test_item_pubdate_atom(version):
|
|
feed = AtomVersionFeed()
|
|
expected_datetime = make_aware(
|
|
datetime.combine(version.release_date, datetime.min.time()),
|
|
timezone=timezone.utc,
|
|
)
|
|
assert feed.item_pubdate(version) == expected_datetime
|