/** * Move menu item config consisting of theme identifiers * * @param MenuItem $beforeItem before item * @param MenuItem $movedItem after item * @return void */ public function moveItemConfig(MenuItem $beforeItem, MenuItem $movedItem) { $configEntity = $this->configs->get($this->menuKeyString($beforeItem)); $to = $this->menuKeyString($movedItem); $this->configs->move($configEntity, substr($to, 0, strrpos($to, '.'))); }
public function testMoveFromChildToAnotherChild() { list($repo, $validator) = $this->getMocks(); $instance = new ConfigManager($repo, $validator); $mockParent = m::mock('Xpressengine\\Config\\ConfigEntity'); $mockConfig = m::mock('Xpressengine\\Config\\ConfigEntity'); $mockConfig->shouldReceive('getParent')->andReturn($mockParent); $mockConfig->shouldReceive('getDepth')->andReturn(2); $mockConfig->siteKey = 'default'; $mockConfig->name = 'board.notice'; $mockToConfig = m::mock('Xpressengine\\Config\\ConfigEntity'); $repo->shouldReceive('find')->once()->with('default', 'valid.to')->andReturn($mockToConfig); $repo->shouldReceive('foster')->once()->with($mockConfig, 'valid.to'); $mockConfig->shouldReceive('setParent')->once()->with($mockToConfig)->andReturnNull(); $repo->shouldReceive('find')->once()->with('default', 'valid.to.notice')->andReturn($mockConfig); $repo->shouldReceive('fetchParent')->with('default', 'valid.to.notice')->andReturn([$mockToConfig]); $instance->move($mockConfig, 'valid.to'); }
/** * moveItemConfig * * @param MenuItem $beforeItem to change theme value for before item moving * @param MenuItem $movedItem to change theme value for after item moving * * @return void * @throws InvalidArgumentException */ public function moveItemConfig(MenuItem $beforeItem, MenuItem $movedItem) { $configEntity = $this->configManager->get($this->menuKeyString($beforeItem->getBreadCrumbsKeyString())); $this->configManager->move($configEntity, $this->menuKeyString($movedItem->getBreadCrumbsKeyString(true))); }