Loading core/modules/comment/src/Plugin/migrate/source/d7/CommentEntityTranslation.php +17 −0 Original line number Diff line number Diff line Loading @@ -2,6 +2,7 @@ namespace Drupal\comment\Plugin\migrate\source\d7; use Drupal\migrate\Exception\RequirementsException; use Drupal\migrate\Row; use Drupal\migrate_drupal\Plugin\migrate\source\d7\FieldableEntity; Loading Loading @@ -100,4 +101,20 @@ public function getIds() { ]; } /** * {@inheritdoc} */ public function checkRequirements() { parent::checkRequirements(); if (!$this->moduleExists('comment')) { // If we make it to here, the comment module isn't installed. throw new RequirementsException('The module comment is not enabled in the source site'); } if (!$this->moduleExists('node')) { // Node module is also a requirement. throw new RequirementsException('The module node is not enabled in the source site'); } } } core/modules/comment/tests/src/Kernel/Migrate/d7/CommentEntityTranslationCheckRequirementsTest.php 0 → 100644 +56 −0 Original line number Diff line number Diff line <?php namespace Drupal\Tests\comment\Kernel\Migrate\d7; use Drupal\Tests\migrate_drupal\Kernel\d7\MigrateDrupal7TestBase; use Drupal\migrate\Exception\RequirementsException; /** * Tests check requirements for comment entity translation source plugin. * * @group comment */ class CommentEntityTranslationCheckRequirementsTest extends MigrateDrupal7TestBase { /** * {@inheritdoc} */ protected static $modules = [ 'content_translation', 'comment', 'language', ]; /** * Tests exception thrown when the given module is not enabled in the source. * * @dataProvider providerTestCheckRequirements */ public function testCheckRequirements($module) { // Disable the module in the source site. $this->sourceDatabase->update('system') ->condition('name', $module) ->fields([ 'status' => '0', ]) ->execute(); $this->expectException(RequirementsException::class); $this->expectExceptionMessage("The module $module is not enabled in the source site"); $this->getMigration('d7_comment_entity_translation') ->getSourcePlugin() ->checkRequirements(); } /** * Provides data for testCheckRequirements. * * @return string[][] */ public function providerTestCheckRequirements() { return [ ['comment'], ['node'], ]; } } Loading
core/modules/comment/src/Plugin/migrate/source/d7/CommentEntityTranslation.php +17 −0 Original line number Diff line number Diff line Loading @@ -2,6 +2,7 @@ namespace Drupal\comment\Plugin\migrate\source\d7; use Drupal\migrate\Exception\RequirementsException; use Drupal\migrate\Row; use Drupal\migrate_drupal\Plugin\migrate\source\d7\FieldableEntity; Loading Loading @@ -100,4 +101,20 @@ public function getIds() { ]; } /** * {@inheritdoc} */ public function checkRequirements() { parent::checkRequirements(); if (!$this->moduleExists('comment')) { // If we make it to here, the comment module isn't installed. throw new RequirementsException('The module comment is not enabled in the source site'); } if (!$this->moduleExists('node')) { // Node module is also a requirement. throw new RequirementsException('The module node is not enabled in the source site'); } } }
core/modules/comment/tests/src/Kernel/Migrate/d7/CommentEntityTranslationCheckRequirementsTest.php 0 → 100644 +56 −0 Original line number Diff line number Diff line <?php namespace Drupal\Tests\comment\Kernel\Migrate\d7; use Drupal\Tests\migrate_drupal\Kernel\d7\MigrateDrupal7TestBase; use Drupal\migrate\Exception\RequirementsException; /** * Tests check requirements for comment entity translation source plugin. * * @group comment */ class CommentEntityTranslationCheckRequirementsTest extends MigrateDrupal7TestBase { /** * {@inheritdoc} */ protected static $modules = [ 'content_translation', 'comment', 'language', ]; /** * Tests exception thrown when the given module is not enabled in the source. * * @dataProvider providerTestCheckRequirements */ public function testCheckRequirements($module) { // Disable the module in the source site. $this->sourceDatabase->update('system') ->condition('name', $module) ->fields([ 'status' => '0', ]) ->execute(); $this->expectException(RequirementsException::class); $this->expectExceptionMessage("The module $module is not enabled in the source site"); $this->getMigration('d7_comment_entity_translation') ->getSourcePlugin() ->checkRequirements(); } /** * Provides data for testCheckRequirements. * * @return string[][] */ public function providerTestCheckRequirements() { return [ ['comment'], ['node'], ]; } }