31 lines
924 B
Python
31 lines
924 B
Python
from unittest.mock import patch
|
|
|
|
|
|
def test_scheduled_collect_calls_cleanup_and_notifier():
|
|
from app import main as app_main
|
|
|
|
calls = []
|
|
|
|
def fake_collect():
|
|
calls.append("collect")
|
|
return {"new_count": 0, "total_count": 0}
|
|
|
|
def fake_cleanup(grace_days=90):
|
|
calls.append(("cleanup", grace_days))
|
|
return 0
|
|
|
|
def fake_match():
|
|
calls.append("match")
|
|
|
|
def fake_notify():
|
|
calls.append("notify")
|
|
return {"sent": 0}
|
|
|
|
with patch.object(app_main, "collect_all", side_effect=fake_collect), \
|
|
patch.object(app_main, "delete_old_completed_announcements", side_effect=fake_cleanup), \
|
|
patch.object(app_main, "run_matching", side_effect=fake_match), \
|
|
patch.object(app_main, "notify_new_matches", side_effect=fake_notify):
|
|
app_main.scheduled_collect()
|
|
|
|
assert calls == ["collect", ("cleanup", 90), "match", "notify"]
|