code: def test_run():
      def a():
          """"""
  
      interactor = Interactor(runOptions=RunOptions.ON_ACTION)
  
      defaultRunBtn = Parameter.create(
          **interactor.runActionTemplate, name="Run"
      )
      group = interactor(a)
      assert group.makeTreeItem(0).button.text() == defaultRunBtn.name()
  
      template = dict(defaultName="Test", type="action")
      with interactor.optsContext(runActionTemplate=template):
          x = interactor(a)
      assert x.makeTreeItem(0).button.text() == "Test"
  
      parent = Parameter.create(name="parent", type="group")
      test2 = interactor(a, parent=parent, nest=False)
      assert (
          len(test2) == 1
          and test2[0].name() == a.__name__
          and test2[0].parent() is parent
      )
  
      test2 = interactor(a, nest=False)
      assert len(test2) == 1 and not test2[0].parent()
  
imports: from functools import wraps
  import numpy
  import pyqtgraph
  import pytest
  from pyqtgraph import functions
  from pyqtgraph.parametertree import InteractiveFunction, Interactor, interact, RunOptions
  from pyqtgraph.parametertree import Parameter
  from pyqtgraph.parametertree.Parameter import PARAM_TYPES
  from pyqtgraph.parametertree.parameterTypes import GroupParameter
  from pyqtgraph.Qt import QtGui
label_desc: Use image node_id 5 for calling a global function with example usage: test_run() without return types