code: def test_transform(es, trans_feat):
      feat = trans_feat
      graph = graph_feature(feat).source
  
      feat_name = feat.get_name()
      prim_node = "0_{}_year".format(feat_name)
      dataframe_table = "\u2605 customers (target)"
      prim_edge = 'customers:cancel_date -> "{}"'.format(prim_node)
      feat_edge = '"{}" -> customers:"{}"'.format(prim_node, feat_name)
  
      graph_components = [
          feat_name,
          dataframe_table,
          prim_node,
          prim_edge,
          feat_edge,
      ]
      for component in graph_components:
          assert component in graph
  
      matches = re.findall(
          r"customers \[label=<\n<TABLE.*?</TABLE>>", graph, re.DOTALL
      )
      assert len(matches) == 1
      rows = re.findall(r"<TR.*?</TR>", matches[0], re.DOTALL)
      assert len(rows) == 3
      to_match = ["customers", "cancel_date", feat_name]
      for match, row in zip(to_match, rows):
          assert match in row
  
imports: import json
  import os
  import re
  import graphviz
  import pytest
  from featuretools.feature_base import AggregationFeature, DirectFeature, FeatureOutputSlice, GroupByTransformFeature, IdentityFeature, TransformFeature, graph_feature
  from featuretools.primitives import Count, CumMax, Mode, NMostCommon, Year
label_desc: Use image node_id 7 for calling a global function with example usage: test_transform(es, trans_feat) without return types