Esempio n. 1
0
 /**
  * @dataProvider itemsProvider
  *
  * @param array $items
  * @param array $expectedItems
  */
 public function testWrite(array $items, array $expectedItems)
 {
     $this->wrapped->expects($this->once())->method('write')->with($this->equalTo($expectedItems));
     $stepExecution = $this->getMockBuilder('Akeneo\\Bundle\\BatchBundle\\Entity\\StepExecution')->disableOriginalConstructor()->getMock();
     $this->databaseHelper->expects($this->once())->method('onClear');
     $this->writer->setStepExecution($stepExecution);
     $this->writer->write($items);
 }
 /**
  * @param NewsletterSubscriber[] $items
  */
 public function write(array $items)
 {
     parent::write($items);
     // Save minimum originId received by initial sync for further filtering in case of failure
     $lastSubscriber = $items[count($items) - 1];
     $transport = $lastSubscriber->getChannel()->getTransport();
     if ($transport instanceof MagentoSoapTransport) {
         /** @var MagentoSoapTransport $transport */
         $transport = $this->databaseHelper->getEntityReference($transport);
         $syncedToId = $transport->getNewsletterSubscriberSyncedToId();
         if (!$syncedToId || $syncedToId > $lastSubscriber->getOriginId()) {
             $transport->setNewsletterSubscriberSyncedToId($lastSubscriber->getOriginId());
             $this->writer->write([$transport]);
         }
     }
 }