def mock_sync_multiple():
    """Create multiple mock syncs with different schedules."""
    organization_id = uuid.uuid4()
    base_time = datetime.now(timezone.utc)

    # Sync that is due (next_scheduled_run in the past)
    due_sync = schemas.Sync(
        id=uuid.uuid4(),
        name="Due Sync",
        description="Due sync description",
        source_connection_id=uuid.uuid4(),
        destination_connection_ids=[uuid.uuid4()],
        user_id=uuid.uuid4(),
        tenant_id=uuid.uuid4(),
        created_at=base_time - timedelta(hours=2),
        updated_at=base_time - timedelta(hours=1),
        organization_id=organization_id,
        status=SyncStatus.ACTIVE,
        cron_schedule="*/5 * * * *",  # Every 5 minutes
        next_scheduled_run=base_time - timedelta(minutes=2),  # In the past
        modified_at=base_time - timedelta(hours=1),
        created_by_email="test@example.com",
        modified_by_email="test@example.com",
    )

    # Sync that is not due yet (next_scheduled_run in the future)
    future_sync = schemas.Sync(
        id=uuid.uuid4(),
        name="Future Sync",
        description="Future sync description",
        source_connection_id=uuid.uuid4(),
        destination_connection_ids=[uuid.uuid4()],
        user_id=uuid.uuid4(),
        tenant_id=uuid.uuid4(),
        created_at=base_time - timedelta(hours=2),
        updated_at=base_time - timedelta(hours=1),
        organization_id=organization_id,
        status=SyncStatus.ACTIVE,
        cron_schedule="*/10 * * * *",  # Every 10 minutes
        next_scheduled_run=base_time + timedelta(minutes=5),  # In the future
        modified_at=base_time - timedelta(hours=1),
        created_by_email="test@example.com",
        modified_by_email="test@example.com",
    )

    # Sync with no next_scheduled_run (should be calculated)
    no_next_run_sync = schemas.Sync(
        id=uuid.uuid4(),
        name="No Next Run Sync",
        description="No next run sync description",
        source_connection_id=uuid.uuid4(),
        destination_connection_ids=[uuid.uuid4()],
        user_id=uuid.uuid4(),
        tenant_id=uuid.uuid4(),
        created_at=base_time - timedelta(hours=2),
        updated_at=base_time - timedelta(hours=1),
        organization_id=organization_id,
        status=SyncStatus.ACTIVE,
        cron_schedule="*/15 * * * *",  # Every 15 minutes
        next_scheduled_run=None,  # No next run time set
        modified_at=base_time - timedelta(hours=1),
        created_by_email="test@example.com",
        modified_by_email="test@example.com",
    )

    return [due_sync, future_sync, no_next_run_sync]
Create multiple mock syncs with different schedules.
backend/tests/unit/platform/test_scheduler.py