code: def test_calls_progress_callback_cluster(
      pd_dataframes, relationships, dask_cluster
  ):
      class MockProgressCallback:
          def __init__(self):
              self.progress_history = []
              self.total_update = 0
              self.total_progress_percent = 0
  
          def __call__(self, update, progress_percent, time_elapsed):
              self.total_update += update
              self.total_progress_percent = progress_percent
              self.progress_history.append(progress_percent)
  
      mock_progress_callback = MockProgressCallback()
  
      dkwargs = {"cluster": dask_cluster.scheduler.address}
      dfs(
          dataframes=pd_dataframes,
          relationships=relationships,
          target_dataframe_name="transactions",
          progress_callback=mock_progress_callback,
          dask_kwargs=dkwargs,
      )
  
      assert np.isclose(mock_progress_callback.total_update, 100.0)
      assert np.isclose(
          mock_progress_callback.total_progress_percent, 100.0
      )
  
imports: from unittest.mock import patch
  import composeml
  import numpy
  import pandas
  import pytest
  from packaging.version import parse
  from woodwork.column_schema import ColumnSchema
  from woodwork.logical_types import NaturalLanguage
  from featuretools.computational_backends.calculate_feature_matrix import FEATURE_CALCULATION_PERCENTAGE
  from featuretools.entityset import EntitySet, Timedelta
  from featuretools.exceptions import UnusedPrimitiveWarning
  from featuretools.primitives import GreaterThanScalar, Max, Mean, Min, Sum
  from featuretools.primitives.base import AggregationPrimitive, TransformPrimitive
  from featuretools.synthesis import dfs
  from featuretools.synthesis.deep_feature_synthesis import DeepFeatureSynthesis
  from featuretools.tests.testing_utils import to_pandas
  from featuretools.utils.gen_utils import Library, import_or_none, is_instance
label_desc: Use image node_id 26 for calling a global function with example usage: test_calls_progress_callback_cluster(pd_dataframes, relationships, dask_cluster) without return types