You are here

abstract class ProcessTestBase in Media Migration 8

Base class for testing Media Migration's migrate process plugins.

Hierarchy

Expanded class hierarchy of ProcessTestBase

File

tests/src/Unit/Plugin/migrate/process/ProcessTestBase.php, line 14

Namespace

Drupal\Tests\media_migration\Unit\Plugin\migrate\process
View source
abstract class ProcessTestBase extends MigrateProcessTestCase {

  /**
   * {@inheritdoc}
   */
  protected $migrationConfiguration = [
    'id' => 'test_content_migration',
    'destination' => [
      'plugin' => 'entity:node',
    ],
  ];

  /**
   * A source database to test with.
   *
   * @var array[]
   */
  protected $testDatabase = [];

  /**
   * A media migration UUID oracle object prophecy.
   *
   * @var \Prophecy\Prophecy\ProphecyInterface
   */
  protected $uuidOracle;

  /**
   * The migration the process plugin is tested with.
   *
   * @var \Drupal\migrate\Plugin\MigrationInterface
   */
  protected $migration;

  /**
   * A SqlBase migration source plugin object prophecy.
   *
   * @var \Prophecy\Prophecy\ProphecyInterface
   */
  protected $sourcePlugin;

  /**
   * The process plugin we test.
   *
   * @var \Drupal\migrate\Plugin\MigrateProcessInterface
   */
  protected $plugin;

  /**
   * A logger channel object prophecy.
   *
   * @var \Prophecy\Prophecy\ProphecyInterface
   */
  protected $logger;

  /**
   * {@inheritdoc}
   */
  protected function setUp() {
    parent::setUp();
    $this->uuidOracle = $this
      ->prophesize(MediaMigrationUuidOracleInterface::class);
    $this->uuidOracle
      ->getMediaUuid(1)
      ->willReturn('jpeg1-uuid');
    $this->uuidOracle
      ->getMediaUuid(2)
      ->willReturn('png2-uuid');
    $this->uuidOracle
      ->getMediaUuid(3)
      ->willReturn('svg3-uuid');
    $this->row
      ->method('getSourceIdValues')
      ->willReturn([
      'nid' => 123,
      'vid' => 456,
      'language' => 'hu',
    ]);
    $this->sourcePlugin = $this
      ->prophesize(DrupalSqlBase::class);
    $this->sourcePlugin
      ->getDatabase()
      ->willReturn($this
      ->getDatabase($this->testDatabase));
    $this->migration = $this
      ->getMigration();
    $this->migration
      ->method('getSourcePlugin')
      ->willReturn($this->sourcePlugin
      ->reveal());
    $this->migration
      ->method('getDestinationConfiguration')
      ->willReturn($this->migrationConfiguration['destination'] ?? []);
    $this->logger = $this
      ->prophesize(LoggerChannelInterface::class);
  }

  /**
   * Sets an in-memory Settings variable.
   *
   * See of KernelTestBase::setSetting().
   *
   * @param string $name
   *   The name of the setting to set.
   * @param bool|string|int|array|null $value
   *   The value to set. Note that array values are replaced entirely; use
   *   \Drupal\Core\Site\Settings::get() to perform custom merges.
   */
  protected function setSetting($name, $value) {
    $settings = Settings::getInstance() ? Settings::getAll() : [];
    $settings[$name] = $value;
    new Settings($settings);
  }

}

Members

Namesort descending Modifiers Type Description Overrides
MigrateProcessTestCase::$migrateExecutable protected property
MigrateProcessTestCase::$row protected property
MigrateTestCase::$idMap protected property The migration ID map.
MigrateTestCase::$migrationStatus protected property Local store for mocking setStatus()/getStatus().
MigrateTestCase::createSchemaFromRow protected function Generates a table schema from a row.
MigrateTestCase::getDatabase protected function Gets an SQLite database connection object for use in tests.
MigrateTestCase::getMigration protected function Retrieves a mocked migration. 1
MigrateTestCase::getValue protected function Gets the value on a row for a given key. 1
MigrateTestCase::queryResultTest public function Tests a query.
MigrateTestCase::retrievalAssertHelper protected function Asserts tested values during test retrieval.
PhpunitCompatibilityTrait::getMock Deprecated public function Returns a mock object for the specified class using the available method.
PhpunitCompatibilityTrait::setExpectedException Deprecated public function Compatibility layer for PHPUnit 6 to support PHPUnit 4 code.
ProcessTestBase::$logger protected property A logger channel object prophecy.
ProcessTestBase::$migration protected property The migration the process plugin is tested with.
ProcessTestBase::$migrationConfiguration protected property An array of migration configuration values. Overrides MigrateTestCase::$migrationConfiguration
ProcessTestBase::$plugin protected property The process plugin we test. Overrides MigrateProcessTestCase::$plugin
ProcessTestBase::$sourcePlugin protected property A SqlBase migration source plugin object prophecy.
ProcessTestBase::$testDatabase protected property A source database to test with. 1
ProcessTestBase::$uuidOracle protected property A media migration UUID oracle object prophecy.
ProcessTestBase::setSetting protected function Sets an in-memory Settings variable.
ProcessTestBase::setUp protected function Overrides MigrateProcessTestCase::setUp 2
UnitTestCase::$randomGenerator protected property The random generator.
UnitTestCase::$root protected property The app root. 1
UnitTestCase::assertArrayEquals protected function Asserts if two arrays are equal by sorting them first.
UnitTestCase::getBlockMockWithMachineName Deprecated protected function Mocks a block with a block plugin. 1
UnitTestCase::getClassResolverStub protected function Returns a stub class resolver.
UnitTestCase::getConfigFactoryStub public function Returns a stub config factory that behaves according to the passed array.
UnitTestCase::getConfigStorageStub public function Returns a stub config storage that returns the supplied configuration.
UnitTestCase::getContainerWithCacheTagsInvalidator protected function Sets up a container with a cache tags invalidator.
UnitTestCase::getRandomGenerator protected function Gets the random generator for the utility methods.
UnitTestCase::getStringTranslationStub public function Returns a stub translation manager that just returns the passed string.
UnitTestCase::randomMachineName public function Generates a unique random string containing letters and numbers.