class ArrayBuildTest

Same name in other branches
  1. 9 core/modules/migrate/tests/src/Unit/process/ArrayBuildTest.php \Drupal\Tests\migrate\Unit\process\ArrayBuildTest
  2. 8.9.x core/modules/migrate/tests/src/Unit/process/ArrayBuildTest.php \Drupal\Tests\migrate\Unit\process\ArrayBuildTest
  3. 10 core/modules/migrate/tests/src/Unit/process/ArrayBuildTest.php \Drupal\Tests\migrate\Unit\process\ArrayBuildTest

@coversDefaultClass \Drupal\migrate\Plugin\migrate\process\ArrayBuild @group migrate

Hierarchy

Expanded class hierarchy of ArrayBuildTest

File

core/modules/migrate/tests/src/Unit/process/ArrayBuildTest.php, line 14

Namespace

Drupal\Tests\migrate\Unit\process
View source
class ArrayBuildTest extends MigrateProcessTestCase {
    
    /**
     * {@inheritdoc}
     */
    protected function setUp() : void {
        $configuration = [
            'key' => 'foo',
            'value' => 'bar',
        ];
        $this->plugin = new ArrayBuild($configuration, 'map', []);
        parent::setUp();
    }
    
    /**
     * Tests successful transformation.
     */
    public function testTransform() : void {
        $source = [
            [
                'foo' => 'Foo',
                'bar' => 'Bar',
            ],
            [
                'foo' => 'foo bar',
                'bar' => 'bar foo',
            ],
        ];
        $expected = [
            'Foo' => 'Bar',
            'foo bar' => 'bar foo',
        ];
        $value = $this->plugin
            ->transform($source, $this->migrateExecutable, $this->row, 'destination_property');
        $this->assertSame($value, $expected);
    }
    
    /**
     * Tests non-existent key for the key configuration.
     */
    public function testNonExistentKey() : void {
        $source = [
            [
                'bar' => 'foo',
            ],
        ];
        $this->expectException(MigrateException::class);
        $this->expectExceptionMessage("The key 'foo' does not exist");
        $this->plugin
            ->transform($source, $this->migrateExecutable, $this->row, 'destination_property');
    }
    
    /**
     * Tests non-existent key for the value configuration.
     */
    public function testNonExistentValue() : void {
        $source = [
            [
                'foo' => 'bar',
            ],
        ];
        $this->expectException(MigrateException::class);
        $this->expectExceptionMessage("The key 'bar' does not exist");
        $this->plugin
            ->transform($source, $this->migrateExecutable, $this->row, 'destination_property');
    }
    
    /**
     * Tests one-dimensional array input.
     */
    public function testOneDimensionalArrayInput() : void {
        $source = [
            'foo' => 'bar',
        ];
        $this->expectException(MigrateException::class);
        $this->expectExceptionMessage('The input should be an array of arrays');
        $this->plugin
            ->transform($source, $this->migrateExecutable, $this->row, 'destination_property');
    }
    
    /**
     * Tests string input.
     */
    public function testStringInput() : void {
        $source = 'foo';
        $this->expectException(MigrateException::class);
        $this->expectExceptionMessage('The input should be an array of arrays');
        $this->plugin
            ->transform($source, $this->migrateExecutable, $this->row, 'destination_property');
    }

}

Members

Title Sort descending Modifiers Object type Summary Overriden Title Overrides
ArrayBuildTest::setUp protected function Overrides MigrateProcessTestCase::setUp
ArrayBuildTest::testNonExistentKey public function Tests non-existent key for the key configuration.
ArrayBuildTest::testNonExistentValue public function Tests non-existent key for the value configuration.
ArrayBuildTest::testOneDimensionalArrayInput public function Tests one-dimensional array input.
ArrayBuildTest::testStringInput public function Tests string input.
ArrayBuildTest::testTransform public function Tests successful transformation.
ExpectDeprecationTrait::expectDeprecation public function Adds an expected deprecation.
ExpectDeprecationTrait::getCallableName private static function Returns a callable as a string suitable for inclusion in a message.
ExpectDeprecationTrait::setUpErrorHandler public function Sets up the test error handler.
ExpectDeprecationTrait::tearDownErrorHandler public function Tears down the test error handler.
MigrateProcessTestCase::$migrateExecutable protected property
MigrateProcessTestCase::$plugin protected property 1
MigrateProcessTestCase::$row protected property
MigrateTestCase::$idMap protected property The migration ID map.
MigrateTestCase::$migrationConfiguration protected property An array of migration configuration values. 10
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.
MigrateTestCase::getValue protected function Gets the value on a row for a given key.
MigrateTestCase::queryResultTest public function Tests a query.
MigrateTestCase::retrievalAssertHelper protected function Asserts tested values during test retrieval.
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.

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