From d16f491577d13143386cf91ba04131bcd9923a3d Mon Sep 17 00:00:00 2001 From: catch <catch@35733.no-reply.drupal.org> Date: Tue, 19 Dec 2023 14:49:38 +0000 Subject: [PATCH] Issue #3371219 by quietone, smustgrave: Remove forum from block migration tests --- .../d6/MigrateBlockContentTranslationTest.php | 1 - .../Kernel/Migrate/d6/MigrateBlockTest.php | 19 +-- .../d7/MigrateBlockContentTranslationTest.php | 1 - .../Kernel/Migrate/d6/MigrateBlockTest.php | 129 ++++++++++++++++++ 4 files changed, 136 insertions(+), 14 deletions(-) create mode 100644 core/modules/forum/tests/src/Kernel/Migrate/d6/MigrateBlockTest.php diff --git a/core/modules/block/tests/src/Kernel/Migrate/d6/MigrateBlockContentTranslationTest.php b/core/modules/block/tests/src/Kernel/Migrate/d6/MigrateBlockContentTranslationTest.php index 1f20809de72d..2173a8ae6e07 100644 --- a/core/modules/block/tests/src/Kernel/Migrate/d6/MigrateBlockContentTranslationTest.php +++ b/core/modules/block/tests/src/Kernel/Migrate/d6/MigrateBlockContentTranslationTest.php @@ -18,7 +18,6 @@ class MigrateBlockContentTranslationTest extends MigrateDrupal6TestBase { 'book', 'block', 'comment', - 'forum', 'views', 'block_content', 'config_translation', diff --git a/core/modules/block/tests/src/Kernel/Migrate/d6/MigrateBlockTest.php b/core/modules/block/tests/src/Kernel/Migrate/d6/MigrateBlockTest.php index b138ee94fbe5..b55d0757944f 100644 --- a/core/modules/block/tests/src/Kernel/Migrate/d6/MigrateBlockTest.php +++ b/core/modules/block/tests/src/Kernel/Migrate/d6/MigrateBlockTest.php @@ -23,7 +23,6 @@ class MigrateBlockTest extends MigrateDrupal6TestBase { 'block_content', 'taxonomy', 'node', - 'forum', 'path_alias', 'statistics', ]; @@ -216,26 +215,20 @@ public function testBlockMigration() { // Check forum block settings. $settings = [ - 'id' => 'forum_active_block', + 'id' => 'broken', 'label' => '', - 'provider' => 'forum', + 'provider' => 'core', 'label_display' => '0', 'block_count' => 3, - 'properties' => [ - 'administrative' => '1', - ], ]; $this->assertEntity('forum', [], 'sidebar', 'olivero', -8, $settings); $settings = [ - 'id' => 'forum_new_block', + 'id' => 'broken', 'label' => '', - 'provider' => 'forum', + 'provider' => 'core', 'label_display' => '0', 'block_count' => 4, - 'properties' => [ - 'administrative' => '1', - ], ]; $this->assertEntity('forum_1', [], 'sidebar', 'olivero', -9, $settings); @@ -307,11 +300,13 @@ public function testBlockMigration() { // Check migrate messages. $messages = iterator_to_array($this->getMigration('d6_block')->getIdMap()->getMessages()); - $this->assertCount(4, $messages); + $this->assertCount(6, $messages); $this->assertSame($messages[0]->message, 'Schema errors for block.block.block_1 with the following errors: 0 [dependencies.theme.0] Theme 'bluemarine' is not installed.'); $this->assertSame($messages[1]->message, "d6_block:visibility: The block with bid '13' from module 'block' will have no PHP or request_path visibility configuration."); $this->assertSame($messages[2]->message, 'Schema errors for block.block.aggregator with the following errors: block.block.aggregator:settings.block_count missing schema, block.block.aggregator:settings.feed missing schema, 0 [settings.block_count] 'block_count' is not a supported key., 1 [settings.feed] 'feed' is not a supported key.'); $this->assertSame($messages[3]->message, 'Schema errors for block.block.book with the following errors: block.block.book:settings.block_mode missing schema, 0 [settings.block_mode] 'block_mode' is not a supported key.'); + $this->assertSame('Schema errors for block.block.forum with the following errors: block.block.forum:settings.block_count missing schema, 0 [settings.block_count] 'block_count' is not a supported key.', $messages[4]->message); + $this->assertSame('Schema errors for block.block.forum_1 with the following errors: block.block.forum_1:settings.block_count missing schema, 0 [settings.block_count] 'block_count' is not a supported key.', $messages[5]->message); } } diff --git a/core/modules/block/tests/src/Kernel/Migrate/d7/MigrateBlockContentTranslationTest.php b/core/modules/block/tests/src/Kernel/Migrate/d7/MigrateBlockContentTranslationTest.php index 5c9d8153acaa..3436736c7f38 100644 --- a/core/modules/block/tests/src/Kernel/Migrate/d7/MigrateBlockContentTranslationTest.php +++ b/core/modules/block/tests/src/Kernel/Migrate/d7/MigrateBlockContentTranslationTest.php @@ -21,7 +21,6 @@ class MigrateBlockContentTranslationTest extends MigrateDrupal7TestBase { 'block', 'comment', 'filter', - 'forum', 'views', 'block_content', 'config_translation', diff --git a/core/modules/forum/tests/src/Kernel/Migrate/d6/MigrateBlockTest.php b/core/modules/forum/tests/src/Kernel/Migrate/d6/MigrateBlockTest.php new file mode 100644 index 000000000000..d018716c62ca --- /dev/null +++ b/core/modules/forum/tests/src/Kernel/Migrate/d6/MigrateBlockTest.php @@ -0,0 +1,129 @@ +<?php + +namespace Drupal\Tests\forum\Kernel\Migrate\d6; + +use Drupal\block\Entity\Block; +use Drupal\Tests\migrate_drupal\Kernel\d6\MigrateDrupal6TestBase; + +/** + * Tests migration of forum blocks. + * + * @group forum + */ +class MigrateBlockTest extends MigrateDrupal6TestBase { + + /** + * {@inheritdoc} + */ + protected static $modules = [ + 'block', + 'block_content', + 'comment', + 'forum', + 'node', + 'path_alias', + 'taxonomy', + ]; + + /** + * {@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(); + } + + /** + * Gets the path to the fixture file. + */ + protected function getFixtureFilePath() { + return __DIR__ . '/../../../../fixtures/drupal6.php'; + } + + /** + * 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 = [], 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() { + + // Check forum block settings. + $settings = [ + 'id' => 'forum_active_block', + 'label' => '', + 'provider' => 'forum', + 'label_display' => '0', + 'block_count' => 3, + 'properties' => [ + 'administrative' => '1', + ], + ]; + $this->assertEntity('forum', [], 'sidebar', 'olivero', -8, $settings); + + $settings = [ + 'id' => 'forum_new_block', + 'label' => '', + 'provider' => 'forum', + 'label_display' => '0', + 'block_count' => 4, + 'properties' => [ + 'administrative' => '1', + ], + ]; + $this->assertEntity('forum_1', [], 'sidebar', 'olivero', -9, $settings); + } + +} -- GitLab