diff options
-rw-r--r-- | ChangeLog | 1 | ||||
-rw-r--r-- | app/Model/Metadata.php | 14 | ||||
-rw-r--r-- | tests/units/Model/ProjectMetadataTest.php | 5 | ||||
-rw-r--r-- | tests/units/Model/TaskMetadataTest.php | 5 | ||||
-rw-r--r-- | tests/units/Model/UserMetadataTest.php | 5 |
5 files changed, 18 insertions, 12 deletions
@@ -6,6 +6,7 @@ New features: - Added support of user mentions (@username) - Added report to compare working hours between open and closed tasks - Added the possiblity to define custom routes from plugins +- Added new method to remove metadata Improvements: diff --git a/app/Model/Metadata.php b/app/Model/Metadata.php index ae7475c4..690b2265 100644 --- a/app/Model/Metadata.php +++ b/app/Model/Metadata.php @@ -101,21 +101,11 @@ abstract class Metadata extends Base * * @access public * @param integer $entity_id - * @param string $name + * @param string $name * @return bool */ public function remove($entity_id, $name) { - - $this->db->startTransaction(); - - if (! $this->db->table(static::TABLE)->eq($this->getEntityKey(), $entity_id)->eq('name', $name)->remove()) { - $this->db->cancelTransaction(); - return false; - } - - $this->db->closeTransaction(); - - return true; + return $this->db->table(static::TABLE)->eq($this->getEntityKey(), $entity_id)->eq('name', $name)->remove(); } } diff --git a/tests/units/Model/ProjectMetadataTest.php b/tests/units/Model/ProjectMetadataTest.php index 43d66b7b..5814987d 100644 --- a/tests/units/Model/ProjectMetadataTest.php +++ b/tests/units/Model/ProjectMetadataTest.php @@ -30,6 +30,11 @@ class ProjectMetadataTest extends Base $this->assertEquals(array('key1' => 'value2'), $pm->getAll(1)); $this->assertEquals(array('key1' => 'value1', 'key2' => 'value2'), $pm->getAll(2)); + + $this->assertTrue($pm->remove(2, 'key1')); + $this->assertFalse($pm->remove(2, 'key1')); + + $this->assertEquals(array('key2' => 'value2'), $pm->getAll(2)); } public function testAutomaticRemove() diff --git a/tests/units/Model/TaskMetadataTest.php b/tests/units/Model/TaskMetadataTest.php index 9ce7d6be..2683c297 100644 --- a/tests/units/Model/TaskMetadataTest.php +++ b/tests/units/Model/TaskMetadataTest.php @@ -33,5 +33,10 @@ class TaskMetadataTest extends Base $this->assertEquals(array('key1' => 'value2'), $tm->getAll(1)); $this->assertEquals(array('key1' => 'value1', 'key2' => 'value2'), $tm->getAll(2)); + + $this->assertTrue($tm->remove(2, 'key1')); + $this->assertFalse($tm->remove(2, 'key1')); + + $this->assertEquals(array('key2' => 'value2'), $tm->getAll(2)); } } diff --git a/tests/units/Model/UserMetadataTest.php b/tests/units/Model/UserMetadataTest.php index cc1fff12..457f1fb2 100644 --- a/tests/units/Model/UserMetadataTest.php +++ b/tests/units/Model/UserMetadataTest.php @@ -29,5 +29,10 @@ class UserMetadataTest extends Base $this->assertEquals(array('key1' => 'value2'), $m->getAll(1)); $this->assertEquals(array('key1' => 'value1', 'key2' => 'value2'), $m->getAll(2)); + + $this->assertTrue($m->remove(2, 'key1')); + $this->assertFalse($m->remove(2, 'key1')); + + $this->assertEquals(array('key2' => 'value2'), $m->getAll(2)); } } |