/** * testDeleteMenuPermission * * @return void */ public function testDeleteMenuPermission() { $permissionFactory = $this->permissionFactory; $permissionFactory->shouldReceive('removeRegistered')->andReturn(); // MenuEntity $menu $permissionHandler = new MenuPermissionHandler($this->permissionFactory, $this->groupRepoMock, $this->memberRepoMock); $menu = $this->getSampleMenuEntity(); $permissionHandler->deleteMenuPermission($menu); }
/** * destroy * * @param MenuRetrieveHandler $menuHandler menu handler * @param MenuAlterHandler $menuChanger menu alter handler * @param MenuConfigHandler $configHandler menu config handler * @param MenuPermissionHandler $permissionHandler menu permission handler * @param string $menuId to delete menu entity object id * * @return RedirectResponse */ public function destroy(MenuRetrieveHandler $menuHandler, MenuAlterHandler $menuChanger, MenuConfigHandler $configHandler, MenuPermissionHandler $permissionHandler, $menuId) { XeDB::beginTransaction(); try { $menu = $menuHandler->getMenu($menuId); $menuChanger->removeMenu($menu); $configHandler->deleteMenuTheme($menu); $permissionHandler->deleteMenuPermission($menu); } catch (Exception $e) { XeDB::rollback(); return Redirect::back()->with('alert', ['type' => 'danger', 'message' => $e->getMessage()]); } XeDB::commit(); return Redirect::route('settings.menu.index')->with('alert', ['type' => 'success', 'message' => 'Menu deleted']); }