public function let(ActionFactory $actionFactory, ActionInterface $indexAction, BuildBefore $event, DatagridConfiguration $datagridConfig, ConfigurationInterface $customEntityConfig) { $this->beConstructedWith($actionFactory); $indexAction->implement('Pim\\Bundle\\CustomEntityBundle\\Action\\IndexActionInterface'); $indexAction->getConfiguration()->willReturn($customEntityConfig); $customEntityConfig->getName()->willReturn('entity'); $customEntityConfig->getEntityClass()->willReturn('entity_class'); $actionFactory->getAction('entity', 'index')->willReturn($indexAction); $event->getConfig()->willReturn($datagridConfig); }
/** * Sets the mass actions * * @param \Oro\Bundle\DataGridBundle\Datagrid\Common\DatagridConfiguration $datagridConfig * @param \Pim\Bundle\CustomEntityBundle\Action\ActionInterface $indexAction */ protected function setMassActions(DatagridConfiguration $datagridConfig, ActionInterface $indexAction) { $name = $indexAction->getConfiguration()->getName(); $massActions = $datagridConfig->offsetGetByPath('[mass_actions]') ?: []; foreach ($indexAction->getMassActions() as $massActionType) { if (isset($massActions[$massActionType])) { continue; } $massAction = $this->actionFactory->getAction($name, $massActionType); $massActions[$massActionType] = $massAction->getGridActionOptions(); } $datagridConfig->offsetSetByPath('[mass_actions]', $massActions); }