Skip to content
Snippets Groups Projects
Unverified Commit a5103bb8 authored by Lee Rowlands's avatar Lee Rowlands
Browse files

Issue #3191782 by quietone, Wim Leers, mohit_aghera: Fix dependency in d6 user...

Issue #3191782 by quietone, Wim Leers, mohit_aghera: Fix dependency in d6 user profile translation migrations
parent 88a03eab
No related branches found
No related tags found
No related merge requests found
......@@ -49,4 +49,5 @@ destination:
translations: true
migration_dependencies:
required:
- user_profile_field
- language
- user_profile_field_instance
......@@ -38,5 +38,5 @@ destination:
translations: true
migration_dependencies:
required:
- user_profile_field
- language
- user_profile_field_instance
......@@ -26,6 +26,7 @@ class MigrateUserProfileFieldInstanceTranslationTest extends MigrateDrupal6TestB
*/
public function testUserProfileFields() {
$this->executeMigrations([
'language',
'user_profile_field',
'user_profile_field_instance',
'd6_user_profile_field_instance_translation',
......
<?php
namespace Drupal\Tests\config_translation\Kernel\Migrate\d6;
use Drupal\migrate\MigrateExecutable;
use Drupal\Tests\migrate_drupal\Kernel\d6\MigrateDrupal6TestBase;
/**
* Tests rollback of user profile translations.
*
* @group migrate_drupal_6
*/
class MigrateUserProfileTranslationRollbackTest extends MigrateDrupal6TestBase {
/**
* {@inheritdoc}
*/
protected static $modules = [
'config_translation',
'locale',
'language',
'field',
];
/**
* Tests rollback of the complete node migration.
*/
public function testRollback() {
$migration_ids = [
'user_profile_field',
'd6_profile_field_option_translation',
'user_profile_field_instance',
'd6_user_profile_field_instance_translation',
'language',
];
/** @var \Drupal\migrate\Plugin\MigrationPluginManager $migration_plugin_manager */
$migration_plugin_manager = \Drupal::service('plugin.manager.migration');
$migrations = [];
foreach ($migration_ids as $migration_id) {
$migrations[$migration_id] = $migration_plugin_manager->createInstance($migration_id, []);
}
$migrations = $migration_plugin_manager->buildDependencyMigration($migrations, []);
// Execute the import.
$ids = array_keys($migrations);
$this->executeMigrations($ids);
// Execute the rollback.
$ids = array_reverse($ids);
try {
foreach ($ids as $id) {
// Language rollback tries to rollback the default language so skip it.
if ($id == 'language') {
continue;
}
$migration = $migrations[$id];
(new MigrateExecutable($migration, $this))->rollback();
}
}
catch (\Exception $e) {
}
}
}
......@@ -29,6 +29,7 @@ protected function setUp(): void {
$this->executeMigrations([
'language',
'user_profile_field',
'user_profile_field_instance',
'd6_profile_field_option_translation',
]);
}
......
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment