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); }