View source
<?php
namespace Drupal\Tests\Core\Menu;
use Drupal\Core\Menu\MenuLinkDefault;
use Drupal\Core\Menu\StaticMenuLinkOverridesInterface;
use Drupal\Tests\UnitTestCase;
class MenuLinkDefaultTest extends UnitTestCase {
public function testUpdateLink() {
$plugin_definition = [
'title' => 'Hey jude',
'enabled' => 1,
'expanded' => 1,
'menu_name' => 'admin',
'parent' => '',
'weight' => 10,
];
$expected_plugin_definition = $plugin_definition;
$expected_plugin_definition['weight'] = -10;
$static_override = $this
->prophesize(StaticMenuLinkOverridesInterface::class);
$static_override
->saveOverride('example_menu_link', $expected_plugin_definition);
$static_override = $static_override
->reveal();
$menu_link = new MenuLinkDefault([], 'example_menu_link', $plugin_definition, $static_override);
$this
->assertEquals($expected_plugin_definition, $menu_link
->updateLink([
'weight' => -10,
], TRUE));
}
public function testUpdateLinkWithoutPersist() {
$plugin_definition = [
'title' => 'Hey jude',
'enabled' => 1,
'expanded' => 1,
'menu_name' => 'admin',
'parent' => '',
'weight' => 10,
];
$expected_plugin_definition = $plugin_definition;
$expected_plugin_definition['weight'] = -10;
$static_override = $this
->prophesize(StaticMenuLinkOverridesInterface::class);
$static_override
->saveOverride()
->shouldNotBeCalled();
$static_override = $static_override
->reveal();
$menu_link = new MenuLinkDefault([], 'example_menu_link', $plugin_definition, $static_override);
$this
->assertEquals($expected_plugin_definition, $menu_link
->updateLink([
'weight' => -10,
], FALSE));
}
}