function MenuLinkParentTest::testMenuLinkParent
Same name in other branches
- 9 core/modules/migrate/tests/src/Unit/process/MenuLinkParentTest.php \Drupal\Tests\migrate\Unit\process\MenuLinkParentTest::testMenuLinkParent()
- 11.x core/modules/migrate/tests/src/Unit/process/MenuLinkParentTest.php \Drupal\Tests\migrate\Unit\process\MenuLinkParentTest::testMenuLinkParent()
Tests the menu link content process plugin.
@dataProvider providerMenuLinkParent
Parameters
string[] $source_value: The source value(s) for the migration process plugin.
string $lookup_result: The ID value to be returned from migration_lookup.
string $plugin_id: The menu link plugin ID.
string $route_name: A route to create.
string $expected_result: The expected value(s) of the migration process plugin.
Throws
\Drupal\Component\Plugin\Exception\PluginException
\Drupal\migrate\MigrateException
\Drupal\migrate\MigrateSkipRowException
File
-
core/
modules/ migrate/ tests/ src/ Unit/ process/ MenuLinkParentTest.php, line 141
Class
- MenuLinkParentTest
- Tests the menu link parent process plugin.
Namespace
Drupal\Tests\migrate\Unit\processCode
public function testMenuLinkParent(array $source_value, $lookup_result, $plugin_id, $route_name, $expected_result) : void {
[
$parent_id,
$menu_name,
$parent_link_path,
] = $source_value;
$this->migrateLookup
->lookup(NULL, [
$parent_id,
])
->willReturn([
[
'id' => $lookup_result,
],
]);
if ($route_name) {
$plugin_definition = [
'menu_name' => $menu_name,
];
$static_override = $this->prophesize(StaticMenuLinkOverridesInterface::class);
$static_override = $static_override->reveal();
$menu_link = new MenuLinkDefault([], $plugin_id, $plugin_definition, $static_override);
$this->menuLinkManager
->loadLinksByRoute($route_name, [], 'admin')
->willReturn([
$plugin_id => $menu_link,
]);
$url = new Url($route_name, [], []);
$this->pathValidator
->getUrlIfValidWithoutAccessCheck($parent_link_path)
->willReturn($url);
}
$result = $this->doTransform($source_value, $plugin_id);
$this->assertSame($expected_result, $result);
}
Buggy or inaccurate documentation? Please file an issue. Need support? Need help programming? Connect with the Drupal community.