public function delete()
{
$this->events()->trigger(__CLASS__, 'before.delete', $this);
$id = $this->getId();
if (!empty($id)) {
try {
parent::delete(array('id' => $id));
} catch (\Exception $e) {
throw new \Gc\Exception($e->getMessage(), $e->getCode(), $e);
}
$this->events()->trigger(__CLASS__, 'after.delete', $this);
unset($this);
return true;
}
$this->events()->trigger(__CLASS__, 'after.delete.failed', $this);
return false;
}
/** * Test * * @return void */ public function testDeleteWithWrongValues() { $configuration = Registry::get('Application')->getConfig(); if ($configuration['db']['driver'] == 'pdo_mysql') { $this->markTestSkipped('Mysql does not thrown exception.'); } $this->setExpectedException('Gc\\Exception'); $this->object->setId('undefined'); $this->assertFalse($this->object->delete()); }