databaseDumpFiles = [__DIR__ . '/../../../../tests/fixtures/update/drupal-8.bare.standard.php.gz']; } /** * Tests upgrading comment and node actions to generic entity ones. * * @see system_post_update_change_action_plugins() */ public function testUpdateActionsWithEntityPlugins() { $old_new_action_id_map = [ 'comment_publish_action' => ['comment_publish_action', 'entity:publish_action:comment'], 'comment_unpublish_action' => ['comment_unpublish_action', 'entity:unpublish_action:comment'], 'comment_save_action' => ['comment_save_action', 'entity:save_action:comment'], 'node_publish_action' => ['node_publish_action', 'entity:publish_action:node'], 'node_unpublish_action' => ['node_unpublish_action', 'entity:unpublish_action:node'], 'node_save_action' => ['node_save_action', 'entity:save_action:node'], ]; foreach ($old_new_action_id_map as $key => list($before, $after)) { $config = \Drupal::configFactory()->get('system.action.' . $key); $this->assertSame($before, $config->get('plugin')); } $this->runUpdates(); foreach ($old_new_action_id_map as $key => list($before, $after)) { /** @var \Drupal\system\Entity\Action $action */ $action = Action::load($key); $this->assertSame($after, $action->getPlugin()->getPluginId()); $config = \Drupal::configFactory()->get('system.action.' . $key); $this->assertSame($after, $config->get('plugin')); // Check that the type the action is based on will be a module dependency. $this->assertArraySubset(['module' => [$action->getPluginDefinition()['type']]], $action->getDependencies()); } } }