/** * @param \Phpro\SmartCrud\Gateway\CrudGatewayInterface $gateway * @param \Zend\EventManager\EventManager $eventManager * @param \Zend\Form\Form $form * @param \Phpro\SmartCrud\Service\SmartServiceResult $result */ public function it_should_handle_valid_data($gateway, $eventManager, $form, $result) { $entity = new \StdClass(); $postData = $this->getMockPostData(); $gateway->loadEntity('entityKey', null)->shouldBecalled()->willReturn($entity); $gateway->delete($entity, $postData)->shouldBecalled()->willReturn(true); $result->setSuccess(true)->shouldBeCalled(); $result->setEntity($entity)->shouldBeCalled(); $this->setEntityKey('entityKey'); $this->setGateway($gateway); $this->setResult($result); $this->setForm($form); $this->run(null, $this->getMockPostData())->shouldReturn($result); $eventManager->trigger(Argument::which('getName', CrudEvent::INVALID_DELETE))->shouldNotBeCalled(); $eventManager->trigger(Argument::which('getName', CrudEvent::BEFORE_DELETE))->shouldBeCalled(); $eventManager->trigger(Argument::which('getName', CrudEvent::AFTER_DELETE))->shouldBeCalled(); }
/** * @param \Phpro\SmartCrud\Gateway\CrudGatewayInterface $gateway * @param \Zend\EventManager\EventManager $eventManager * @param \Phpro\SmartCrud\Service\SmartServiceResult $result */ public function it_should_return_a_result($gateway, $eventManager, $result) { $entity = new \StdClass(); $entity->id = 1; $postData = null; $gateway->loadEntity('entityKey', $entity->id)->shouldBecalled()->willReturn($entity); $result->setSuccess(Argument::any())->shouldBeCalled(); $result->setForm(Argument::any())->shouldNotBeCalled(); $result->setEntity($entity)->shouldBeCalled(); $this->setEntityKey('entityKey'); $this->setGateway($gateway); $this->setResult($result); $this->run($entity->id, $postData)->shouldReturn($result); $eventManager->trigger(Argument::which('getName', CrudEvent::BEFORE_DATA_VALIDATION))->shouldNotBeCalled(); $eventManager->trigger(Argument::which('getName', CrudEvent::BEFORE_READ))->shouldBeCalled(); $eventManager->trigger(Argument::which('getName', CrudEvent::AFTER_READ))->shouldBeCalled(); }
/** * @param \Phpro\SmartCrud\Gateway\CrudGatewayInterface $gateway * @param \Zend\EventManager\EventManager $eventManager * @param \Zend\Form\Form $form * @param \Phpro\SmartCrud\Service\SmartServiceResult $result */ public function it_should_handle_valid_data($gateway, $eventManager, $form, $result) { $entity = new \StdClass(); $entity->id = 1; $postData = $this->getMockPostData(); $gateway->loadEntity('entityKey', $entity->id)->shouldBecalled()->willReturn($entity); $gateway->update($entity, $postData)->shouldBecalled()->willReturn(true); $form->hasValidated()->shouldBeCalled()->willreturn(false); $form->bind(Argument::any())->shouldBeCalled(); $form->bindOnValidate()->shouldBeCalled(); $form->setData(Argument::exact($this->getMockPostData()))->shouldBeCalled()->willReturn($form); $form->isValid()->shouldBeCalled()->willreturn(true); $result->setSuccess(true)->shouldBeCalled(); $result->setForm($form)->shouldBeCalled(); $result->setEntity($entity)->shouldBeCalled(); $this->setEntityKey('entityKey'); $this->setGateway($gateway); $this->setForm($form); $this->setResult($result); $this->run($entity->id, $this->getMockPostData())->shouldReturn($result); $eventManager->trigger(Argument::which('getName', CrudEvent::BEFORE_DATA_HYDRATION))->shouldBeCalled(); $eventManager->trigger(Argument::which('getName', CrudEvent::BEFORE_DATA_VALIDATION))->shouldBeCalled(); $eventManager->trigger(Argument::which('getName', CrudEvent::INVALID_UPDATE))->shouldNotBeCalled(); $eventManager->trigger(Argument::which('getName', CrudEvent::BEFORE_UPDATE))->shouldBeCalled(); $eventManager->trigger(Argument::which('getName', CrudEvent::AFTER_UPDATE))->shouldBeCalled(); }