You are here

MigrateBlockContentStubTest.php in Zircon Profile 8

File

core/modules/block_content/src/Tests/Migrate/MigrateBlockContentStubTest.php
View source
<?php

/**
 * @file
 * Contains \Drupal\block_content\Tests\Migrate\MigrateBlockContentStubTest.
 */
namespace Drupal\block_content\Tests\Migrate;

use Drupal\block_content\Entity\BlockContentType;
use Drupal\migrate\MigrateException;
use Drupal\migrate_drupal\Tests\MigrateDrupalTestBase;
use Drupal\migrate_drupal\Tests\StubTestTrait;

/**
 * Test stub creation for block_content entities.
 *
 * @group block_content
 */
class MigrateBlockContentStubTest extends MigrateDrupalTestBase {
  use StubTestTrait;

  /**
   * {@inheritdoc}
   */
  public static $modules = [
    'block_content',
  ];

  /**
   * {@inheritdoc}
   */
  protected function setUp() {
    parent::setUp();
    $this
      ->installEntitySchema('block_content');
  }

  /**
   * Tests creation of block content stubs with no block_content_type available.
   */
  public function testStubFailure() {
    $message = 'Expected MigrateException thrown when no bundles exist.';
    try {
      $this
        ->createStub('block_content');
      $this
        ->fail($message);
    } catch (MigrateException $e) {
      $this
        ->pass($message);
      $this
        ->assertEqual('Stubbing failed, no bundles available for entity type: block_content', $e
        ->getMessage());
    }
  }

  /**
   * Tests creation of block content stubs when there is a block_content_type.
   */
  public function testStubSuccess() {
    BlockContentType::create([
      'id' => 'test_block_content_type',
      'label' => 'Test block content type',
    ])
      ->save();
    $this
      ->performStubTest('block_content');
  }

}

Classes

Namesort descending Description
MigrateBlockContentStubTest Test stub creation for block_content entities.