3 namespace Drupal\Tests\migrate_drupal\Kernel\d6;
5 use Drupal\Tests\migrate_drupal\Kernel\MigrateDrupalTestBase;
8 * Base class for Drupal 6 migration tests.
10 abstract class MigrateDrupal6TestBase extends MigrateDrupalTestBase {
15 public static $modules = [
29 protected function setUp() {
31 $this->loadFixture($this->getFixtureFilePath());
35 * Gets the path to the fixture file.
37 protected function getFixtureFilePath() {
38 return __DIR__ . '/../../../fixtures/drupal6.php';
42 * Executes all user migrations.
44 * @param bool $include_pictures
45 * If TRUE, migrates user pictures.
47 protected function migrateUsers($include_pictures = TRUE) {
48 $this->executeMigrations(['d6_filter_format', 'd6_user_role']);
50 if ($include_pictures) {
51 $this->installEntitySchema('file');
52 $this->executeMigrations([
54 'd6_user_picture_file',
56 'user_picture_field_instance',
57 'user_picture_entity_display',
58 'user_picture_entity_form_display',
62 $this->executeMigration('d6_user');
66 * Migrates node types.
68 protected function migrateContentTypes() {
69 $this->installConfig(['node']);
70 $this->executeMigration('d6_node_type');
74 * Executes all field migrations.
76 protected function migrateFields() {
77 $this->migrateContentTypes();
78 $this->executeMigrations([
81 'd6_field_instance_widget_settings',
83 'd6_field_formatter_settings',
85 'd6_upload_field_instance',
90 * Executes all content migrations.
92 * @param array $include
93 * Extra things to include as part of the migrations. Values may be
94 * 'revisions' or 'translations'.
96 protected function migrateContent($include = []) {
97 if (in_array('translations', $include)) {
98 $this->executeMigrations(['language']);
100 $this->migrateUsers(FALSE);
101 $this->migrateFields();
103 $this->installEntitySchema('node');
104 $this->executeMigrations(['d6_node_settings', 'd6_node']);
106 if (in_array('translations', $include)) {
107 $this->executeMigrations(['translations']);
109 if (in_array('revisions', $include)) {
110 $this->executeMigrations(['d6_node_revision']);
115 * Executes all taxonomy migrations.
117 protected function migrateTaxonomy() {
118 $this->migrateContentTypes();
119 $this->installEntitySchema('taxonomy_term');
120 $this->executeMigrations([
121 'd6_taxonomy_vocabulary',
122 'd6_vocabulary_field',
123 'd6_vocabulary_field_instance',
124 'd6_vocabulary_entity_display',
125 'd6_vocabulary_entity_form_display',