/** * {@inheritdoc} */ public function process($entity) { if (!$this->isProcessingAllowed($entity)) { $this->appendDataToContext(self::NEWSLETTER_SUBSCRIBER_POST_PROCESS, $this->context->getValue('itemData')); return null; } return parent::process($entity); }
/** * @depends testProcessChangeExisting */ public function testProcessChangeNewEntity() { $now = new \DateTime('now', new \DateTimeZone('UTC')); $createdAt = clone $now; $createdAt->modify('-2 days'); $updateAt = clone $now; $updateAt->modify('-1 day'); /** @var NewsletterSubscriber $newsletterSubscriber */ $newsletterSubscriber = $this->getReference('newsletter_subscriber'); $newsletterSubscriber->setChangeStatusAt($now)->setCreatedAt($createdAt)->setUpdatedAt($updateAt); $class = new \ReflectionClass($newsletterSubscriber); $prop = $class->getProperty('id'); $prop->setAccessible(true); $prop->setValue($newsletterSubscriber, null); $this->strategy->setEntityName(get_class($newsletterSubscriber)); $updatedNewsletterSubscriber = $this->strategy->process($newsletterSubscriber); $this->assertEquals($newsletterSubscriber, $updatedNewsletterSubscriber); $this->assertNotEquals($createdAt, $updatedNewsletterSubscriber->getCreatedAt()); $this->assertNotEquals($updateAt, $updatedNewsletterSubscriber->getUpdatedAt()); }