X-Git-Url: http://www.aleph1.co.uk/gitweb/?a=blobdiff_plain;f=web%2Fcore%2Fmodules%2Ffield%2Ftests%2Fsrc%2FKernel%2FMigrate%2Fd7%2FRollbackFieldTest.php;fp=web%2Fcore%2Fmodules%2Ffield%2Ftests%2Fsrc%2FKernel%2FMigrate%2Fd7%2FRollbackFieldTest.php;h=7c5c6fd41e5daa378f6673a979f3c668b6c076b6;hb=a2bd1bf0c2c1f1a17d188f4dc0726a45494cefae;hp=0000000000000000000000000000000000000000;hpb=57c063afa3f66b07c4bbddc2d6129a96d90f0aad;p=yaffs-website diff --git a/web/core/modules/field/tests/src/Kernel/Migrate/d7/RollbackFieldTest.php b/web/core/modules/field/tests/src/Kernel/Migrate/d7/RollbackFieldTest.php new file mode 100644 index 000000000..7c5c6fd41 --- /dev/null +++ b/web/core/modules/field/tests/src/Kernel/Migrate/d7/RollbackFieldTest.php @@ -0,0 +1,77 @@ +executeRollback('d7_field'); + + // Check that fields have been rolled back. + $rolled_back_field_ids = [ + 'comment.field_integer', + 'node.taxonomy_forums', + 'node.field_integer', + 'node.field_tags', + 'node.field_term_reference', + 'node.field_text_list', + 'node.field_text', + 'node.field_phone', + 'node.field_file', + 'node.field_images', + 'node.field_image', + 'node.field_long_text', + 'node.field_date_with_end_time', + 'node.field_integer_list', + 'node.field_date', + 'node.field_link', + 'node.field_float', + 'node.field_boolean', + 'node.field_email', + 'user.field_file', + ]; + foreach ($rolled_back_field_ids as $field_id) { + $this->assertNull(FieldStorageConfig::load($field_id)); + } + + // Check that fields that should persist have not been rolled back. + $non_rolled_back_field_ids = [ + 'node.body', + 'comment.comment_body', + ]; + foreach ($non_rolled_back_field_ids as $field_id) { + $this->assertNotNull(FieldStorageConfig::load($field_id)); + } + } + + /** + * Executes a single rollback. + * + * @param string|\Drupal\migrate\Plugin\MigrationInterface $migration + * The migration to rollback, or its ID. + */ + protected function executeRollback($migration) { + if (is_string($migration)) { + $this->migration = $this->getMigration($migration); + } + else { + $this->migration = $migration; + } + (new MigrateExecutable($this->migration, $this))->rollback(); + } + +}