e71ac3ce95c7efd9326f0530d50f056b34feedff
[yaffs-website] / web / core / modules / field / tests / src / Kernel / Migrate / d7 / RollbackFieldInstanceTest.php
1 <?php
2
3 namespace Drupal\Tests\field\Kernel\Migrate\d7;
4
5 use Drupal\field\Entity\FieldConfig;
6 use Drupal\migrate\MigrateExecutable;
7
8 /**
9  * Migrates and rolls back Drupal 7 fields.
10  *
11  * @group field
12  */
13 class RollbackFieldInstanceTest extends MigrateFieldInstanceTest {
14
15   /**
16    * Tests migrating D7 fields to field_storage_config entities, then rolling back.
17    */
18   public function testFieldInstances() {
19     // Test that the field instances have migrated (prior to rollback).
20     parent::testFieldInstances();
21
22     $this->executeRollback('d7_field_instance');
23     $this->executeRollback('d7_field');
24
25     // Check that field instances have been rolled back.
26     $field_instance_ids = [
27       'comment.comment_node_page.comment_body',
28       'node.page.body',
29       'comment.comment_node_article.comment_body',
30       'node.article.body',
31       'node.article.field_tags',
32       'node.article.field_image',
33       'comment.comment_node_blog.comment_body',
34       'node.blog.body',
35       'comment.comment_node_book.comment_body',
36       'node.book.body',
37       'node.forum.taxonomy_forums',
38       'comment.comment_node_forum.comment_body',
39       'node.forum.body',
40       'comment.comment_node_test_content_type.comment_body',
41       'node.test_content_type.field_boolean',
42       'node.test_content_type.field_email',
43       'node.test_content_type.field_phone',
44       'node.test_content_type.field_date',
45       'node.test_content_type.field_date_with_end_time',
46       'node.test_content_type.field_file',
47       'node.test_content_type.field_float',
48       'node.test_content_type.field_images',
49       'node.test_content_type.field_integer',
50       'node.test_content_type.field_link',
51       'node.test_content_type.field_text_list',
52       'node.test_content_type.field_integer_list',
53       'node.test_content_type.field_long_text',
54       'node.test_content_type.field_term_reference',
55       'node.test_content_type.field_text',
56       'comment.comment_node_test_content_type.field_integer',
57       'user.user.field_file',
58     ];
59     foreach ($field_instance_ids as $field_instance_id) {
60       $this->assertNull(FieldConfig::load($field_instance_id));
61     }
62   }
63
64   /**
65    * Executes a single rollback.
66    *
67    * @param string|\Drupal\migrate\Plugin\MigrationInterface $migration
68    *   The migration to rollback, or its ID.
69    */
70   protected function executeRollback($migration) {
71     if (is_string($migration)) {
72       $this->migration = $this->getMigration($migration);
73     }
74     else {
75       $this->migration = $migration;
76     }
77     (new MigrateExecutable($this->migration, $this))->rollback();
78   }
79
80 }