code: def test_transform_with_functools_partial(spark):
      data = [("jose", 1), ("li", 2), ("liz", 3)]
      source_df = spark.createDataFrame(data, ["name", "age"])
      actual_df = source_df.transform(
          partial(with_greeting)
      ).transform(  # partial is optional for transformations that only take a single DataFrame argument
          partial(with_jacket, "warm")
      )
      expected_data = [
          ("jose", 1, "hi", "warm"),
          ("li", 2, "hi", "warm"),
          ("liz", 3, "hi", "warm"),
      ]
      expected_df = spark.createDataFrame(
          expected_data, ["name", "age", "greeting", "jacket"]
      )
      chispa.assert_df_equality(
          actual_df, expected_df, ignore_nullable=True
      )
  
file_path: quinn/tests/extensions/test_dataframe_ext.py
imports: from functools import partial
  import chispa
  from pyspark.sql.functions import col
  from tests.conftest import auto_inject_fixtures
  from .dataframe_transformations import with_greeting, with_something, with_funny, with_jacket
label_desc: Use image node_id 7 for calling a global function with example usage: test_transform_with_functools_partial(spark) without return types