class NoSourcePluginDecoratorTest

@coversDefaultClass \Drupal\migrate\Plugin\NoSourcePluginDecorator
@group migrate

Hierarchy

Expanded class hierarchy of NoSourcePluginDecoratorTest

File

core/modules/migrate/tests/src/Unit/Plugin/NoSourcePluginDecoratorTest.php, line 17

Namespace

Drupal\Tests\migrate\Unit\Plugin
View source
class NoSourcePluginDecoratorTest extends UnitTestCase {
  
  /**
   * @covers ::getDefinitions
   * @dataProvider providerGetDefinitions
   */
  public function testGetDefinitions(array $definition, bool $source_exists) : void {
    $source_manager = $this->createMock(MigrateSourcePluginManager::class);
    $source_manager->expects($this->any())
      ->method('hasDefinition')
      ->willReturn($source_exists);
    $container = new ContainerBuilder();
    $container->set('plugin.manager.migrate.source', $source_manager);
    \Drupal::setContainer($container);
    $discovery_interface = $this->createMock(DiscoveryInterface::class);
    $discovery_interface->expects($this->once())
      ->method('getDefinitions')
      ->willReturn([
      $definition,
    ]);
    $decorator = new NoSourcePluginDecorator($discovery_interface);
    $results = $decorator->getDefinitions();
    if ($source_exists) {
      $this->assertEquals([
        $definition,
      ], $results);
    }
    else {
      $this->assertEquals([], $results);
    }
  }
  
  /**
   * Provides data for testGetDefinitions().
   */
  public static function providerGetDefinitions() : array {
    return [
      'source exists' => [
        [
          'source' => [
            'plugin' => 'valid_plugin',
          ],
          'process' => [],
          'destination' => [],
        ],
        TRUE,
      ],
      'source does not exist' => [
        [
          'source' => [
            'plugin' => 'invalid_plugin',
          ],
          'process' => [],
          'destination' => [],
        ],
        FALSE,
      ],
      'source is not defined' => [
        [
          'process' => [],
          'destination' => [],
        ],
        FALSE,
      ],
    ];
  }

}

Members

Title Sort descending Modifiers Object type Summary Overrides
ExpectDeprecationTrait::expectDeprecation public function Adds an expected deprecation.
ExpectDeprecationTrait::setUpErrorHandler public function Sets up the test error handler.
ExpectDeprecationTrait::tearDownErrorHandler public function Tears down the test error handler.
NoSourcePluginDecoratorTest::providerGetDefinitions public static function Provides data for testGetDefinitions().
NoSourcePluginDecoratorTest::testGetDefinitions public function @covers ::getDefinitions[[api-linebreak]]
@dataProvider providerGetDefinitions
RandomGeneratorTrait::getRandomGenerator protected function Gets the random generator for the utility methods.
RandomGeneratorTrait::randomMachineName protected function Generates a unique random string containing letters and numbers.
RandomGeneratorTrait::randomObject public function Generates a random PHP object.
RandomGeneratorTrait::randomString public function Generates a pseudo-random string of ASCII characters of codes 32 to 126.
UnitTestCase::$root protected property The app root.
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::getContainerWithCacheTagsInvalidator protected function Sets up a container with a cache tags invalidator.
UnitTestCase::getStringTranslationStub public function Returns a stub translation manager that just returns the passed string.
UnitTestCase::setDebugDumpHandler public static function Registers the dumper CLI handler when the DebugDump extension is enabled.
UnitTestCase::setUp protected function 375
UnitTestCase::setupMockIterator protected function Set up a traversable class mock to return specific items when iterated.

Buggy or inaccurate documentation? Please file an issue. Need support? Need help programming? Connect with the Drupal community.