trait CreateTestContentEntitiesTrait
Provides helper methods for creating test content.
Hierarchy
- trait \Drupal\Tests\migrate_drupal\Traits\CreateTestContentEntitiesTrait
8 files declare their use of CreateTestContentEntitiesTrait
- CredentialFormTest.php in core/modules/ migrate_drupal_ui/ tests/ src/ Functional/ CredentialFormTest.php 
- MigrateDrupal6AuditIdsTest.php in core/modules/ migrate_drupal/ tests/ src/ Kernel/ d6/ MigrateDrupal6AuditIdsTest.php 
- MigrateDrupal7AuditIdsTest.php in core/modules/ migrate_drupal/ tests/ src/ Kernel/ d7/ MigrateDrupal7AuditIdsTest.php 
- MigrateNodeCompleteTest.php in core/modules/ node/ tests/ src/ Kernel/ Migrate/ d6/ MigrateNodeCompleteTest.php 
- MigrateNodeCompleteTest.php in core/modules/ node/ tests/ src/ Kernel/ Migrate/ d7/ MigrateNodeCompleteTest.php 
File
- 
              core/modules/ migrate_drupal/ tests/ src/ Traits/ CreateTestContentEntitiesTrait.php, line 10 
Namespace
Drupal\Tests\migrate_drupal\TraitsView source
trait CreateTestContentEntitiesTrait {
  
  /**
   * Gets required modules.
   *
   * @return array
   */
  protected function getRequiredModules() {
    return [
      'block_content',
      'comment',
      'field',
      'file',
      'link',
      'menu_link_content',
      'migrate_drupal',
      'node',
      'options',
      'system',
      'taxonomy',
      'text',
      'user',
    ];
  }
  
  /**
   * Install required entity schemas.
   */
  protected function installEntitySchemas() {
    $this->installEntitySchema('block_content');
    $this->installEntitySchema('comment');
    $this->installEntitySchema('file');
    $this->installEntitySchema('menu_link_content');
    $this->installEntitySchema('node');
    $this->installEntitySchema('path_alias');
    $this->installEntitySchema('taxonomy_term');
    $this->installEntitySchema('user');
  }
  
  /**
   * Create several pieces of generic content.
   */
  protected function createContent() {
    $entity_type_manager = \Drupal::entityTypeManager();
    // Create a block content.
    if ($entity_type_manager->hasDefinition('block_content')) {
      $block = $entity_type_manager->getStorage('block_content')
        ->create([
        'info' => 'block',
        'type' => 'block',
      ]);
      $block->save();
    }
    // Create a node.
    if ($entity_type_manager->hasDefinition('node')) {
      $node = $entity_type_manager->getStorage('node')
        ->create([
        'type' => 'page',
        'title' => 'page',
      ]);
      $node->save();
      // Create a comment.
      if ($entity_type_manager->hasDefinition('comment')) {
        $comment = $entity_type_manager->getStorage('comment')
          ->create([
          'comment_type' => 'comment',
          'field_name' => 'comment',
          'entity_type' => 'node',
          'entity_id' => $node->id(),
        ]);
        $comment->save();
      }
    }
    // Create a file.
    if ($entity_type_manager->hasDefinition('file')) {
      $file = $entity_type_manager->getStorage('file')
        ->create([
        'uri' => 'public://example.txt',
      ]);
      $file->save();
    }
    // Create a menu link.
    if ($entity_type_manager->hasDefinition('menu_link_content')) {
      $menu_link = $entity_type_manager->getStorage('menu_link_content')
        ->create([
        'title' => 'menu link',
        'link' => [
          'uri' => 'http://www.example.com',
        ],
        'menu_name' => 'tools',
      ]);
      $menu_link->save();
    }
    // Create a taxonomy term.
    if ($entity_type_manager->hasDefinition('taxonomy_term')) {
      $term = $entity_type_manager->getStorage('taxonomy_term')
        ->create([
        'name' => 'term',
        'vid' => 'term',
      ]);
      $term->save();
    }
    // Create a user.
    if ($entity_type_manager->hasDefinition('user')) {
      $user = $entity_type_manager->getStorage('user')
        ->create([
        'name' => 'user',
        'mail' => 'user@example.com',
      ]);
      $user->save();
    }
  }
  
  /**
   * Create several pieces of generic content.
   */
  protected function createContentPostUpgrade() {
    $entity_type_manager = \Drupal::entityTypeManager();
    // Create a block content.
    if ($entity_type_manager->hasDefinition('block_content')) {
      $block = $entity_type_manager->getStorage('block_content')
        ->create([
        'info' => 'Post upgrade block',
        'type' => 'block',
      ]);
      $block->save();
    }
    // Create a node.
    if ($entity_type_manager->hasDefinition('node')) {
      $node = $entity_type_manager->getStorage('node')
        ->create([
        'type' => 'page',
        'title' => 'Post upgrade page',
      ]);
      $node->save();
      // Create a comment.
      if ($entity_type_manager->hasDefinition('comment')) {
        $comment = $entity_type_manager->getStorage('comment')
          ->create([
          'comment_type' => 'comment',
          'field_name' => 'comment',
          'entity_type' => 'node',
          'entity_id' => $node->id(),
        ]);
        $comment->save();
      }
    }
    // Create a file.
    if ($entity_type_manager->hasDefinition('file')) {
      $file = $entity_type_manager->getStorage('file')
        ->create([
        'uri' => 'public://post_upgrade_example.txt',
      ]);
      $file->save();
    }
    // Create a menu link.
    if ($entity_type_manager->hasDefinition('menu_link_content')) {
      $menu_link = $entity_type_manager->getStorage('menu_link_content')
        ->create([
        'title' => 'post upgrade menu link',
        'link' => [
          'uri' => 'http://www.example.com',
        ],
        'menu_name' => 'tools',
      ]);
      $menu_link->save();
    }
    // Create a taxonomy term.
    if ($entity_type_manager->hasDefinition('taxonomy_term')) {
      $term = $entity_type_manager->getStorage('taxonomy_term')
        ->create([
        'name' => 'post upgrade term',
        'vid' => 'term',
      ]);
      $term->save();
    }
    // Create a user.
    if ($entity_type_manager->hasDefinition('user')) {
      $user = $entity_type_manager->getStorage('user')
        ->create([
        'name' => 'universe',
        'mail' => 'universe@example.com',
      ]);
      $user->save();
    }
  }
}Members
| Title Sort descending | Modifiers | Object type | Summary | 
|---|---|---|---|
| CreateTestContentEntitiesTrait::createContent | protected | function | Create several pieces of generic content. | 
| CreateTestContentEntitiesTrait::createContentPostUpgrade | protected | function | Create several pieces of generic content. | 
| CreateTestContentEntitiesTrait::getRequiredModules | protected | function | Gets required modules. | 
| CreateTestContentEntitiesTrait::installEntitySchemas | protected | function | Install required entity schemas. | 
Buggy or inaccurate documentation? Please file an issue. Need support? Need help programming? Connect with the Drupal community.
