/** * Testet ein komplettes löschen (PREHA Prinzip): * * - prüft ob das entity mit der $id vorhanden ist * - löscht das entity * - cleart den $em * - asserted dass das json die alte id zurückgibt * - asserted dass das entity in der datenbank gelöscht wurde * * gibt das JSON zurück * @return string */ public function deleteAcceptance($id, \Doctrine\ORM\EntityManager $em) { // Prepare $idField = $this->entityMeta->getIdentifier()->getName(); $criteria = array($idField => $id); $repository = $em->getRepository($this->entityMeta->getClass()); $res = $repository->findBy($criteria); $this->testCase->assertCount(1, $res, 'pre-condition: ' . $this->entityMeta->getEntityName() . ' ist vorhanden mit der ' . $idField . ' ' . $id . ' - failed.'); // Run $json = $this->delete($id); // gibt die gelöschte oid zurück? $this->testCase->assertEquals($id, $json->id, $idField . ' war nicht korrekt in JSON-Response gesetzt'); // E[rase] from memory $em->clear(); // hydrate $res = $repository->findBy($criteria); // assert $this->testCase->assertEquals(array(), $res, 'Entity ' . $this->entityMeta->getEntityName() . ':' . $idField . '=>' . $id . ' darf nicht mehr vorhanden sein'); return $json; }