/** * Save reminders for new entities * * @param LifecycleEventArgs $event */ public function postPersist(LifecycleEventArgs $event) { $entity = $event->getEntity(); if (!$entity instanceof RemindableInterface) { return; } $this->reminderManager->saveReminders($entity); }
/** * Set form data * * @param FormEvent $event */ public function postSubmit(FormEvent $event) { $form = $event->getForm(); $entity = $form->getData(); if (!$form->isValid() || !$entity instanceof RemindableInterface || !$form->has('reminders')) { return; } $this->manager->saveReminders($entity); }
public function testInvalidEntityIdentifier() { $entity = $this->getMockBuilder('Oro\\Bundle\\ReminderBundle\\Entity\\RemindableInterface')->disableOriginalConstructor()->setMockClassName('Reminder_Mock')->getMock(); $metadata = $this->getMockBuilder('Doctrine\\ORM\\Mapping\\ClassMetadata')->disableOriginalConstructor()->getMock(); $this->entityManager->expects($this->once())->method('getClassMetadata')->with(get_class($entity))->will($this->returnValue($metadata)); $metadata->expects($this->once())->method('getIdentifierValues')->with($entity)->will($this->returnValue(array('foo' => 100, 'bar' => 200))); $this->manager->saveReminders($entity); }
/** * @dataProvider emptyRemindersProvider */ public function testSaveRemindersEmpty($reminders) { $entityId = 101; /** @var \PHPUnit_Framework_MockObject_MockObject|RemindableInterface $entity */ $entity = $this->getMock('Oro\\Bundle\\ReminderBundle\\Entity\\RemindableInterface'); $entityClass = get_class($entity); $entity->expects($this->once())->method('getReminders')->will($this->returnValue($reminders)); $entity->expects($this->never())->method('getReminderData'); $this->doctrineHelper->expects($this->once())->method('getSingleEntityIdentifier')->will($this->returnValue($entityId)); $this->doctrineHelper->expects($this->once())->method('getEntityClass')->will($this->returnValue($entityClass)); $this->manager->saveReminders($entity); }