Example #1
0
def test_notify_reminders(order_reminders: QuerySet):
    """Should notify reminders."""
    with mock.patch("orders.services.Messenger.send") as send:
        reminder: OrderReminder = order_reminders.first()
        reminder.order.start_datetime = arrow.utcnow().shift(hours=-1).datetime
        reminder.order.save()
        reminder.is_reminded = False
        reminder.save()

        reminder = order_reminders.last()
        reminder.order.start_datetime = arrow.utcnow().shift(hours=-1).datetime
        reminder.order.save()
        reminder.is_reminded = False
        reminder.save()
        assert OrderReminder.objects.get_for_notification().count() == 2
        notify_reminders(OrderReminder)

        send.assert_called_with(
            user=reminder.recipient,
            subject=_(reminder.subject),
            template=reminder.template,
            context=reminder.get_data(),
        )
        send.call_count = 2
Example #2
0
def test_generate_future_availability_slots_task(
    professionals: QuerySet,
    services: QuerySet,
    mocker: MockFixture,
):
    """Should generate future availability slots."""
    professionals_generator = mocker.patch(
        "schedule.availability.tasks.generate_for_professional")
    services_generator = mocker.patch(
        "schedule.availability.tasks.generate_for_service")
    generate_future_availability_slots_task.apply_async()

    assert professionals_generator.call_count == professionals.count()
    assert services_generator.call_count == services.filter(
        is_base_schedule=False).count()

    professionals_generator.assert_called_with(
        professionals.last(),
        append_days=True,
    )
    services_generator.assert_called_with(
        services.filter(is_base_schedule=False).last(),
        append_days=True,
    )