From 65f26699a63bd05859208092abb5d9ec1429a53f Mon Sep 17 00:00:00 2001 From: Frederic Guillot Date: Wed, 30 Dec 2015 16:59:21 +0100 Subject: Add unit test to remove metadata --- ChangeLog | 1 + app/Model/Metadata.php | 14 ++------------ tests/units/Model/ProjectMetadataTest.php | 5 +++++ tests/units/Model/TaskMetadataTest.php | 5 +++++ tests/units/Model/UserMetadataTest.php | 5 +++++ 5 files changed, 18 insertions(+), 12 deletions(-) diff --git a/ChangeLog b/ChangeLog index 857d157a..3b261700 100644 --- a/ChangeLog +++ b/ChangeLog @@ -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)); } } -- cgit v1.2.3