MigrateBlockTest.php

Same filename in this branch
  1. 9 core/modules/block/tests/src/Kernel/Migrate/d6/MigrateBlockTest.php
  2. 9 core/modules/block/tests/src/Kernel/Migrate/d7/MigrateBlockTest.php
Same filename in other branches
  1. 8.9.x core/modules/block/tests/src/Kernel/Migrate/d6/MigrateBlockTest.php
  2. 8.9.x core/modules/block/tests/src/Kernel/Migrate/d7/MigrateBlockTest.php
  3. 10 core/modules/forum/tests/src/Kernel/Migrate/d6/MigrateBlockTest.php
  4. 10 core/modules/block/tests/src/Kernel/Migrate/d6/MigrateBlockTest.php
  5. 10 core/modules/block/tests/src/Kernel/Migrate/d7/MigrateBlockTest.php
  6. 11.x core/modules/forum/tests/src/Kernel/Migrate/d6/MigrateBlockTest.php
  7. 11.x core/modules/block/tests/src/Kernel/Migrate/d6/MigrateBlockTest.php
  8. 11.x core/modules/block/tests/src/Kernel/Migrate/d7/MigrateBlockTest.php

Namespace

Drupal\Tests\aggregator\Kernel\Migrate\d6

File

core/modules/aggregator/tests/src/Kernel/Migrate/d6/MigrateBlockTest.php

View source
<?php

namespace Drupal\Tests\aggregator\Kernel\Migrate\d6;

use Drupal\block\Entity\Block;

/**
 * Tests migration of aggregator block.
 *
 * @group aggregator
 */
class MigrateBlockTest extends MigrateDrupal6TestBase {
    
    /**
     * {@inheritdoc}
     */
    protected static $modules = [
        'block',
        'block_content',
        'filter',
        'node',
        'path_alias',
        'text',
    ];
    
    /**
     * {@inheritdoc}
     */
    protected function setUp() : void {
        parent::setUp();
        // Install the themes used for this test.
        $this->installEntitySchema('block_content');
        $this->container
            ->get('theme_installer')
            ->install([
            'olivero',
            'test_theme',
        ]);
        $this->installConfig([
            'block_content',
        ]);
        // Set Olivero as the default public theme.
        $config = $this->config('system.theme');
        $config->set('default', 'olivero');
        $config->save();
        $this->executeMigrations([
            'd6_filter_format',
            'block_content_type',
            'block_content_body_field',
            'd6_custom_block',
            'd6_user_role',
            'd6_block',
        ]);
        block_rebuild();
    }
    
    /**
     * Asserts various aspects of a block.
     *
     * @param string $id
     *   The block ID.
     * @param array $visibility
     *   The block visibility settings.
     * @param string $region
     *   The display region.
     * @param string $theme
     *   The theme.
     * @param int $weight
     *   The block weight.
     * @param array $settings
     *   (optional) The block settings.
     * @param bool $status
     *   Whether the block is expected to be enabled or disabled.
     *
     * @internal
     */
    public function assertEntity(string $id, array $visibility, string $region, string $theme, int $weight, array $settings = NULL, bool $status = TRUE) : void {
        $block = Block::load($id);
        $this->assertInstanceOf(Block::class, $block);
        $this->assertSame($visibility, $block->getVisibility());
        $this->assertSame($region, $block->getRegion());
        $this->assertSame($theme, $block->getTheme());
        $this->assertSame($weight, $block->getWeight());
        $this->assertSame($status, $block->status());
        if ($settings) {
            $block_settings = $block->get('settings');
            $block_settings['id'] = current(explode(':', $block_settings['id']));
            $this->assertEquals($settings, $block_settings);
        }
    }
    
    /**
     * Tests the block migration.
     */
    public function testBlockMigration() {
        $blocks = Block::loadMultiple();
        $this->assertCount(25, $blocks);
        // Check aggregator block.
        $settings = [
            'id' => 'aggregator_feed_block',
            'label' => '',
            'provider' => 'aggregator',
            'label_display' => '0',
            'block_count' => 7,
            'feed' => '5',
        ];
        $this->assertEntity('aggregator', [], 'sidebar', 'olivero', -2, $settings);
    }

}

Classes

Title Deprecated Summary
MigrateBlockTest Tests migration of aggregator block.

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