/** * delete document * * @param DocumentEntity $doc document entity * @param ConfigEntity $config config entity * @return int */ public function delete(DocumentEntity $doc, ConfigEntity $config) { $this->connection->beginTransaction(); if ($config->get('revision') === true) { $this->revision->delete($doc); } $count = $this->document->delete($doc, $config); $this->connection->commit(); return $count; }
/** * test delete * * @return void */ public function testDelete() { $conn = $this->conn; $revisionManager = $this->revisionManager; $keygen = $this->keygen; $repo = new RevisionRepository($conn, $revisionManager, $keygen); $instanceId = 'instanceId'; $id = 'documentId'; $revisionId = 'revisionId'; $doc = $this->getDocumentEntity(); $doc->revisionId = $revisionId; $doc->id = $id; $doc->instanceId = $instanceId; $query = $this->query; $query->shouldReceive('where')->andReturn($query); $query->shouldReceive('delete')->andReturn(1); $result = $repo->deleteByInstanceId($instanceId); $this->assertEquals(1, $result); $repo->delete($doc); $repo->deleteByDocumentId($id); }