magpie/tests/services/platforms/test_reddit_comment.py

51 lines
1.4 KiB
Python

from datetime import date
from app.services.platforms.reddit_comment import is_nth_weekday, parse_occurrence
# --- is_nth_weekday ---
def test_first_sunday_of_april_2026():
# 2026-04-05 is the first Sunday of April 2026
assert is_nth_weekday(date(2026, 4, 5), weekday=6, n=1) is True
def test_second_sunday_of_april_2026_is_not_first():
assert is_nth_weekday(date(2026, 4, 12), weekday=6, n=1) is False
def test_first_sunday_of_may_2026():
# 2026-05-03 is the first Sunday of May 2026
assert is_nth_weekday(date(2026, 5, 3), weekday=6, n=1) is True
def test_last_friday_not_matched_by_first():
# 2026-04-24 is the last Friday of April — not the first
assert is_nth_weekday(date(2026, 4, 24), weekday=4, n=1) is False
def test_first_friday_of_april_2026():
# 2026-04-03 is the first Friday
assert is_nth_weekday(date(2026, 4, 3), weekday=4, n=1) is True
# --- parse_occurrence ---
def test_parse_occurrence_every_returns_none():
assert parse_occurrence("every") is None
def test_parse_occurrence_none_returns_none():
assert parse_occurrence(None) is None
def test_parse_occurrence_first_sunday():
weekday, n = parse_occurrence("first_sunday")
assert weekday == 6 and n == 1
def test_parse_occurrence_unknown_raises():
try:
parse_occurrence("fourth_wednesday")
assert False, "Expected ValueError"
except ValueError:
pass