public function testAdapterBehavior()
 {
     $eventArgsMock = $this->getMockBuilder('Doctrine\\ORM\\Event\\LifecycleEventArgs')->disableOriginalConstructor()->getMock();
     $eventArgsMock->expects($this->once())->method('getEntityManager');
     $eventArgsMock->expects($this->once())->method('getEntity');
     $eventAdapter = new EventAdapterORM();
     $eventAdapter->setEventArgs($eventArgsMock);
     $eventAdapter->getObjectManager();
     $eventAdapter->getObject();
 }
Exemplo n.º 2
0
 /**
  * Overriden. Added support for ManyToMany association changes
  *
  * {@inheritDoc}
  */
 public function getObjectChangeSet($uow, $object)
 {
     $changeSet = parent::getObjectChangeSet($uow, $object);
     $meta = $this->getObjectManager()->getClassMetadata(get_class($object));
     $refl = $meta->getReflectionClass();
     $updates = $uow->getScheduledCollectionUpdates();
     $delitions = $uow->getScheduledCollectionDeletions();
     foreach ($meta->getAssociationNames() as $name) {
         if ($meta->isSingleValuedAssociation($name)) {
             continue;
         }
         $property = $refl->getProperty($name);
         $property->setAccessible(true);
         $assoc = $property->getValue($object);
         if (in_array($assoc, $updates, true) || in_array($assoc, $delitions, true)) {
             $changeSet[$name] = [$assoc, $assoc];
         }
     }
     return $changeSet;
 }
Exemplo n.º 3
0
 /**
  * {@inheritdoc}
  */
 public function setEventArgs(EventArgs $args)
 {
     parent::setEventArgs($args);
     $this->ea->setEventArgs($args);
 }