Updated Drupal to 8.6. This goes with the following updates because it's possible...
[yaffs-website] / web / core / modules / system / tests / src / Functional / Update / UpdateActionsWithEntityPluginsTest.php
index 4094d00313d8e8b7af69fa1371828d3a27bc79fc..764c92c5ffb54100fa831e0508b6da1dcc3a6377 100644 (file)
@@ -9,6 +9,7 @@ use Drupal\system\Entity\Action;
  * Tests upgrading comment and node actions to generic entity ones.
  *
  * @group Update
+ * @group legacy
  */
 class UpdateActionsWithEntityPluginsTest extends UpdatePathTestBase {
 
@@ -53,4 +54,33 @@ class UpdateActionsWithEntityPluginsTest extends UpdatePathTestBase {
     }
   }
 
+  /**
+   * Tests upgrading comment and node delete actions to generic entity ones.
+   *
+   * @see system_post_update_change_delete_action_plugins()
+   */
+  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());
+    }
+  }
+
 }