You are here

public function UpdateActionsWithEntityPluginsTest::testUpdateDeleteActionsWithEntityPlugins in Drupal 8

Tests upgrading comment and node delete actions to generic entity ones.

See also

system_post_update_change_delete_action_plugins()

File

core/modules/system/tests/src/Functional/Update/UpdateActionsWithEntityPluginsTest.php, line 67

Class

UpdateActionsWithEntityPluginsTest
Tests upgrading comment and node actions to generic entity ones.

Namespace

Drupal\Tests\system\Functional\Update

Code

public function testUpdateDeleteActionsWithEntityPlugins() {

  // comment_delete_actions is not part of the dump files.
  $array = [
    'node_delete_action' => [
      'node_delete_action',
      'entity:delete_action:node',
    ],
  ];
  foreach ($array as $key => list($before, $after)) {

    /** @var \Drupal\system\Entity\Action $action */
    $action = Action::load($key);
    $this
      ->assertSame($before, $action
      ->getPlugin()
      ->getPluginId());
  }
  $this
    ->runUpdates();
  foreach ($array as $key => list($before, $after)) {

    /** @var \Drupal\system\Entity\Action $action */
    $action = Action::load($key);
    $this
      ->assertSame($after, $action
      ->getPlugin()
      ->getPluginId());

    // Check that the type the action is based on will be a module dependency.
    $this
      ->assertArraySubset([
      'module' => [
        $action
          ->getPluginDefinition()['type'],
      ],
    ], $action
      ->getDependencies());
  }
}