Mobilizon-Reshare-condividi.../tests/commands/test_recap.py

46 lines
1.2 KiB
Python
Raw Normal View History

from logging import DEBUG
from uuid import UUID
import arrow
import pytest
from mobilizon_reshare.main.recap import recap
from mobilizon_reshare.models.publication import PublicationStatus
from mobilizon_reshare.storage.query.model_creation import (
create_event_publication_models,
)
@pytest.mark.parametrize(
"publisher_class", [pytest.lazy_fixture("mock_publisher_invalid_class")]
)
@pytest.mark.asyncio
async def test_start_event_from_db(
caplog, mock_publisher_config, message_collector, event_generator,
):
for i in range(2):
event = event_generator(
mobilizon_id=UUID(int=i), begin_date=arrow.now().shift(days=2)
)
event_model = event.to_model()
await event_model.save()
publications = await create_event_publication_models(event_model)
for p in publications:
p.status = PublicationStatus.COMPLETED
await p.save()
with caplog.at_level(DEBUG):
# calling the recap command
report = await recap()
assert report.successful
assert "Found 2 events to recap" in caplog.text
recap_message = """Upcoming
test event
test event"""
assert message_collector == [recap_message] * 2 # two publishers * 1 recap