MigrateMenuTest.php in Drupal 9
File
core/modules/system/tests/src/Kernel/Migrate/d6/MigrateMenuTest.php
View source
<?php
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;
class MigrateMenuTest extends MigrateDrupal6TestBase {
protected function setUp() : void {
parent::setUp();
$this
->executeMigration('d6_menu');
}
public function testMenu() {
$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());
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());
}
}