MigrateMenuTest.php

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

Namespace

Drupal\Tests\system\Kernel\Migrate\d6

File

core/modules/system/tests/src/Kernel/Migrate/d6/MigrateMenuTest.php

View source
<?php

declare (strict_types=1);
namespace Drupal\Tests\system\Kernel\Migrate\d6;

use Drupal\Core\Database\Database;
use Drupal\Tests\migrate_drupal\Kernel\d6\MigrateDrupal6TestBase;
use Drupal\system\Entity\Menu;

/**
 * Upgrade menus to system.menu.*.yml.
 *
 * @group migrate_drupal_6
 */
class MigrateMenuTest extends MigrateDrupal6TestBase {
    
    /**
     * {@inheritdoc}
     */
    protected function setUp() : void {
        parent::setUp();
        $this->executeMigration('d6_menu');
    }
    
    /**
     * Tests the Drupal 6 menu to Drupal 8 migration.
     */
    public function testMenu() : void {
        $navigation_menu = Menu::load('navigation');
        $this->assertSame('navigation', $navigation_menu->id());
        $this->assertSame('Navigation', $navigation_menu->label());
        $expected = <<<EOT
The navigation menu is provided by Drupal and is the main interactive menu for any site. It is usually the only menu that contains personalized links for authenticated users, and is often not even visible to anonymous users.
EOT;
        $this->assertSame($expected, $navigation_menu->getDescription());
        // Test that we can re-import using the ConfigEntityBase destination.
        Database::getConnection('default', 'migrate')->update('menu_custom')
            ->fields([
            'title' => 'Home Navigation',
        ])
            ->condition('menu_name', 'navigation')
            ->execute();
        $migration = $this->getMigration('d6_menu');
        \Drupal::database()->truncate($migration->getIdMap()
            ->mapTableName())
            ->execute();
        $this->executeMigration($migration);
        $navigation_menu = Menu::load('navigation');
        $this->assertSame('Home Navigation', $navigation_menu->label());
    }

}

Classes

Title Deprecated Summary
MigrateMenuTest Upgrade menus to system.menu.*.yml.

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