function it_applies_on_timestampable_versioned_object_with_a_document_manager($registry, LifecycleEventArgs $args, DocumentManager $om, ODMUnitOfWork $uow, Version $version, TimestampableInterface $object, ODMClassMetadata $metadata)
 {
     $registry->getManagerForClass('bar')->willReturn($om);
     $om->getClassMetadata('bar')->willReturn($metadata);
     $metadata->getReflectionClass()->willReturn(new \ReflectionClass('Pim\\Component\\Catalog\\Model\\TimestampableInterface'));
     $version->getResourceId()->willReturn('foo');
     $version->getResourceName()->willReturn('bar');
     $version->getLoggedAt()->willReturn('foobar');
     $args->getObject()->willReturn($version);
     $om->getUnitOfWork()->willReturn($uow);
     $om->find('bar', 'foo')->willReturn($object);
     $uow->computeChangeSet($metadata, $object)->shouldBeCalled();
     $object->setUpdated('foobar')->shouldBeCalled();
     $this->prePersist($args);
 }
 /**
  * {@inheritDoc}
  */
 public function getResourceName()
 {
     $this->__initializer__ && $this->__initializer__->__invoke($this, 'getResourceName', array());
     return parent::getResourceName();
 }
 /**
  * Build a pending version
  *
  * @param Version      $pending
  * @param Version|null $previousVersion
  *
  * @return Version
  */
 public function buildPendingVersion(Version $pending, Version $previousVersion = null)
 {
     if (null === $previousVersion) {
         $previousVersion = $this->getVersionRepository()->getNewestLogEntry($pending->getResourceName(), $pending->getResourceId());
     }
     return $this->versionBuilder->buildPendingVersion($pending, $previousVersion);
 }