/** * Test delete action. */ public function testSyncStorageDeleteItem() { $valueMap = [[123, [1], null], [123, [1, 2], null], [0, null, null]]; $this->storageManager->expects($this->exactly(count($valueMap) - 1))->method('removeRecord')->will($this->returnValueMap($valueMap)); foreach ($valueMap as $item) { $this->service->deleteItem($item[0], $item[1]); } }
/** * {@inheritdoc} */ protected function persistDocument() { switch ($this->syncStorageData['type']) { case ActionTypes::CREATE: $this->manager->persist($this->importItem->getDocument()); break; case ActionTypes::UPDATE: $this->manager->persist($this->importItem->getDocument()); break; case ActionTypes::DELETE: $this->manager->getRepository($this->documentType)->remove($this->importItem->getDocument()->getId()); break; default: $this->log(sprintf('Failed to update document of type %s id: %s: no valid operation type defined', get_class($this->importItem->getDocument()), $this->importItem->getDocument()->getId())); return false; } $this->syncStorage->deleteItem($this->syncStorageData['id'], [$this->syncStorageData['shop_id']]); return true; }