protected function userMenu() { $showUserMenu = new MenuItem(['name' => 'user.show', 'label' => 'Show user', 'link' => 'user/show', 'rule' => function (MenuItemContract $item) { return false; }]); $createUserMenu = new MenuItem(['name' => 'user.create', 'label' => 'Create new user', 'link' => 'user/create', 'rule' => function (MenuItemContract $item) { return false; }]); $parent = new ParentItem(['name' => 'user', 'label' => 'User', 'link' => '#']); $parent->addChild($showUserMenu); $parent->addChild($createUserMenu); return $parent; }
public function testToArray_withActiveChild_shouldReturnExpectedArray() { // // @expected // $expected = ['dashboard' => ['name' => 'dashboard', 'label' => 'Dashboard', 'active' => true, 'link' => '#', 'child' => ['dashboard.today' => ['name' => 'dashboard.today', 'label' => 'Today', 'active' => true, 'link' => 'dashboard/today']]]]; // // @conditions // $currentUri = 'http://localhost/dashboard/today'; $child = new MenuItem(['name' => 'dashboard.today', 'label' => 'Today', 'link' => 'dashboard/today', 'rule' => function (MenuItemContract $item) { return true; }]); $parent = new ParentItem(['name' => 'dashboard', 'label' => 'Dashboard', 'link' => '#']); $parent->addChild($child); $parent->setUri($currentUri); $result = $parent->toArray(); // // @asserts // $this->assertEquals($expected, $result); }