You are here

class TestActionSetExpression in Rules 8.3

A wrapper around ActionSetExpression.

This class is needed because actions don't return anything when executed, so there is normally no way to test execution order of actions. This strategy is fragile because this test class MUST replicate the executeWithState() method of the parent class exactly as well as return the array of UUIDs.

Hierarchy

Expanded class hierarchy of TestActionSetExpression

File

tests/src/Unit/ActionSetExpressionTest.php, line 145

Namespace

Drupal\Tests\rules\Unit
View source
class TestActionSetExpression extends ActionSetExpression {

  /**
   * {@inheritdoc}
   */
  public function executeWithState(ExecutionStateInterface $state) {
    $uuids = [];

    // Use the iterator to ensure the actions are sorted.
    foreach ($this as $action) {
      $action
        ->executeWithState($state);
      $uuids[] = $action
        ->getUuid();
    }

    // Return array of UUID in same order as the actions were executed.
    return $uuids;
  }

}

Members

Namesort descending Modifiers Type Description Overrides
ActionExpressionContainer::$actions protected property List of actions that will be executed.
ActionExpressionContainer::addAction public function Creates an action expression and adds it to the container. Overrides ActionExpressionContainerInterface::addAction
ActionExpressionContainer::addExpressionObject public function Adds an expression object. Overrides ExpressionContainerInterface::addExpressionObject
ActionExpressionContainer::deleteExpression public function Deletes an expression identified by the specified UUID in the container. Overrides ExpressionContainerInterface::deleteExpression
ActionExpressionContainer::getConfiguration public function Gets this plugin's configuration. Overrides ExpressionBase::getConfiguration
ActionExpressionContainer::getExpression public function Looks up the expression by UUID in this container. Overrides ExpressionContainerInterface::getExpression
ActionExpressionContainer::getIterator public function
ActionExpressionContainer::__clone public function PHP magic __clone function.
ActionExpressionContainer::__construct public function Constructor. Overrides ExpressionBase::__construct
ActionSetExpression::allowsMetadataAssertions protected function Determines whether child-expressions are allowed to assert metadata. Overrides ExpressionContainerBase::allowsMetadataAssertions
DependencySerializationTrait::$_entityStorages protected property An array of entity type IDs keyed by the property name of their storages.
DependencySerializationTrait::$_serviceIds protected property An array of service IDs keyed by property name used for serialization.
DependencySerializationTrait::__sleep public function 1
DependencySerializationTrait::__wakeup public function 2
ExpressionBase::$configEntityId protected property The config entity this expression is associated with, if any.
ExpressionBase::$configuration protected property The plugin configuration. Overrides PluginBase::$configuration
ExpressionBase::$root protected property The root expression if this object is nested.
ExpressionBase::$uuid protected property The UUID of this expression.
ExpressionBase::$weight protected property The weight (list order) of this expression.
ExpressionBase::calculateDependencies public function Calculates dependencies for the configured plugin. Overrides DependentPluginInterface::calculateDependencies
ExpressionBase::defaultConfiguration public function Gets default configuration for this plugin. Overrides ConfigurableInterface::defaultConfiguration 2
ExpressionBase::execute public function Executes a rules expression. Overrides ExecutableInterface::execute
ExpressionBase::getFormHandler public function Returns the form handling class for this expression. Overrides ExpressionInterface::getFormHandler 2
ExpressionBase::getLabel public function The label of this expression element that can be shown in the UI. Overrides ExpressionInterface::getLabel 2
ExpressionBase::getRoot public function Returns the root expression if this expression is nested. Overrides ExpressionInterface::getRoot
ExpressionBase::getUuid public function Returns the UUID of this expression if it is nested in another expression. Overrides ExpressionInterface::getUuid
ExpressionBase::getWeight public function Returns the list order of this expression. Overrides ExpressionInterface::getWeight
ExpressionBase::setConfiguration public function Sets the configuration for this plugin instance. Overrides ConfigurableInterface::setConfiguration 2
ExpressionBase::setRoot public function Set the root expression for this expression if it is nested. Overrides ExpressionInterface::setRoot
ExpressionBase::setUuid public function Sets the UUID of this expression in an expression tree. Overrides ExpressionInterface::setUuid
ExpressionBase::setWeight public function Sets the list order of this expression in an expression tree. Overrides ExpressionInterface::setWeight
ExpressionContainerBase::$expressionManager protected property The expression manager.
ExpressionContainerBase::$rulesDebugLogger protected property The rules debug logger channel.
ExpressionContainerBase::addExpression public function Creates and adds an expression. Overrides ExpressionContainerInterface::addExpression
ExpressionContainerBase::checkIntegrity public function Verifies that this expression is configured correctly. Overrides ExpressionInterface::checkIntegrity 1
ExpressionContainerBase::create public static function
ExpressionContainerBase::prepareExecutionMetadataState public function Prepares the execution metadata state by adding metadata to it. Overrides ExpressionInterface::prepareExecutionMetadataState
ExpressionContainerBase::prepareExecutionMetadataStateAfterTraversal protected function Prepares execution metadata state after traversing through children. 1
ExpressionContainerBase::prepareExecutionMetadataStateBeforeTraversal protected function Prepares execution metadata state before traversing through children. 1
ExpressionContainerBase::sortByWeightProperty public static function Sorts an array of expressions by 'weight' property.
MessengerTrait::$messenger protected property The messenger. 29
MessengerTrait::messenger public function Gets the messenger. 29
MessengerTrait::setMessenger public function Sets the messenger.
PluginBase::$pluginDefinition protected property The plugin implementation definition. 1
PluginBase::$pluginId protected property The plugin_id.
PluginBase::DERIVATIVE_SEPARATOR constant A string which is used to separate base plugin IDs from the derivative ID.
PluginBase::getBaseId public function Gets the base_plugin_id of the plugin instance. Overrides DerivativeInspectionInterface::getBaseId
PluginBase::getDerivativeId public function Gets the derivative_id of the plugin instance. Overrides DerivativeInspectionInterface::getDerivativeId
PluginBase::getPluginDefinition public function Gets the definition of the plugin implementation. Overrides PluginInspectionInterface::getPluginDefinition 3
PluginBase::getPluginId public function Gets the plugin_id of the plugin instance. Overrides PluginInspectionInterface::getPluginId
PluginBase::isConfigurable public function Determines if the plugin is configurable.
StringTranslationTrait::$stringTranslation protected property The string translation service. 1
StringTranslationTrait::formatPlural protected function Formats a string containing a count of items.
StringTranslationTrait::getNumberOfPlurals protected function Returns the number of plurals supported by a given language.
StringTranslationTrait::getStringTranslation protected function Gets the string translation service.
StringTranslationTrait::setStringTranslation public function Sets the string translation service to use. 2
StringTranslationTrait::t protected function Translates a string to the current language or to a given language.
TestActionSetExpression::executeWithState public function Execute the expression with a given Rules state. Overrides ActionSetExpression::executeWithState