class TestActionSetExpression

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

Title Sort descending Modifiers Object type Summary Overriden Title 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 Returns an iterator for expressions in this container. Overrides ExpressionContainerInterface::getIterator
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
ExpressionBase::$configEntityId protected property The config entity this expression is associated with, if any.
ExpressionBase::$configuration protected property The plugin 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.
PluginInspectionInterface::getPluginDefinition public function Gets the definition of the plugin implementation. 6
PluginInspectionInterface::getPluginId public function Gets the plugin_id of the plugin instance. 2
TestActionSetExpression::executeWithState public function Execute the expression with a given Rules state. Overrides ActionSetExpression::executeWithState