function StaticMenuLinkOverridesTest::testSaveOverride

Same name in other branches
  1. 9 core/tests/Drupal/Tests/Core/Menu/StaticMenuLinkOverridesTest.php \Drupal\Tests\Core\Menu\StaticMenuLinkOverridesTest::testSaveOverride()
  2. 10 core/tests/Drupal/Tests/Core/Menu/StaticMenuLinkOverridesTest.php \Drupal\Tests\Core\Menu\StaticMenuLinkOverridesTest::testSaveOverride()
  3. 11.x core/tests/Drupal/Tests/Core/Menu/StaticMenuLinkOverridesTest.php \Drupal\Tests\Core\Menu\StaticMenuLinkOverridesTest::testSaveOverride()

Tests the saveOverride method.

@covers ::saveOverride @covers ::loadOverride @covers ::getConfig

File

core/tests/Drupal/Tests/Core/Menu/StaticMenuLinkOverridesTest.php, line 99

Class

StaticMenuLinkOverridesTest
@coversDefaultClass \Drupal\Core\Menu\StaticMenuLinkOverrides @group Menu

Namespace

Drupal\Tests\Core\Menu

Code

public function testSaveOverride() {
    $config = $this->getMockBuilder('Drupal\\Core\\Config\\Config')
        ->disableOriginalConstructor()
        ->getMock();
    $config->expects($this->at(0))
        ->method('get')
        ->with('definitions')
        ->will($this->returnValue([]));
    $config->expects($this->at(1))
        ->method('get')
        ->with('definitions')
        ->will($this->returnValue([]));
    $definition_save_1 = [
        'definitions' => [
            'test1' => [
                'parent' => 'test0',
                'menu_name' => '',
                'weight' => 0,
                'expanded' => FALSE,
                'enabled' => FALSE,
            ],
        ],
    ];
    $definitions_save_2 = [
        'definitions' => [
            'test1' => [
                'parent' => 'test0',
                'menu_name' => '',
                'weight' => 0,
                'expanded' => FALSE,
                'enabled' => FALSE,
            ],
            'test1__la___ma' => [
                'parent' => 'test1',
                'menu_name' => '',
                'weight' => 0,
                'expanded' => FALSE,
                'enabled' => FALSE,
            ],
        ],
    ];
    $config->expects($this->at(2))
        ->method('set')
        ->with('definitions', $definition_save_1['definitions'])
        ->will($this->returnSelf());
    $config->expects($this->at(3))
        ->method('save');
    $config->expects($this->at(4))
        ->method('get')
        ->with('definitions')
        ->will($this->returnValue($definition_save_1['definitions']));
    $config->expects($this->at(5))
        ->method('get')
        ->with('definitions')
        ->will($this->returnValue($definition_save_1['definitions']));
    $config->expects($this->at(6))
        ->method('set')
        ->with('definitions', $definitions_save_2['definitions'])
        ->will($this->returnSelf());
    $config->expects($this->at(7))
        ->method('save');
    $config_factory = $this->createMock('Drupal\\Core\\Config\\ConfigFactoryInterface');
    $config_factory->expects($this->once())
        ->method('getEditable')
        ->will($this->returnValue($config));
    $static_override = new StaticMenuLinkOverrides($config_factory);
    $static_override->saveOverride('test1', [
        'parent' => 'test0',
    ]);
    $static_override->saveOverride('test1.la__ma', [
        'parent' => 'test1',
    ]);
}

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