From 514bc0bd5d84550d7b9c82f3afd6eee76e1748e3 Mon Sep 17 00:00:00 2001 From: uckelman Date: Thu, 22 Apr 2010 20:57:20 +0000 Subject: Added unregisterPost(). git-svn-id: https://vassalengine.svn.sourceforge.net/svnroot/vassalengine/site-src/trunk@6728 67b53d14-2c14-4ace-a08f-0dab2b34000c --- src/Bridge.php | 12 ++++++++++++ test/BridgeTest.php | 18 ++++++++++++++++++ 2 files changed, 30 insertions(+) diff --git a/src/Bridge.php b/src/Bridge.php index 8b04f03..ba6ccc8 100644 --- a/src/Bridge.php +++ b/src/Bridge.php @@ -99,6 +99,18 @@ class Bridge { } } + public function unregisterPost($postId) { + throw_if_null($postId); + + $sql = 'DELETE FROM posts WHERE post_id = ' . $postId; + + $count = $this->db->exec($sql); + + if ($count != 1) { + throw new Exception('Failed to delete message id: ' . $messageId); + } + } + protected function get_exactly_one_row($sql) { $result = $this->db->query($sql); diff --git a/test/BridgeTest.php b/test/BridgeTest.php index 6925847..f3d3b48 100644 --- a/test/BridgeTest.php +++ b/test/BridgeTest.php @@ -164,6 +164,24 @@ class BridgeTest extends PHPUnit_Framework_TestCase { ); } + /** + * @dataProvider providerUnregisterPost + */ + public function testUnregisterPost($postId, $ex) { + if ($ex) $this->setExpectedException($ex); + $bridge = new Bridge($this->db); + $bridge->unregisterPost($postId); + $this->assertEquals(false, $bridge->getMessageId($postId)); + } + + public function providerUnregisterMessage() { + return array( + array(null, 'Exception'), + array(1, 'Exception'), + array(2, null), + ); + } + /** * @dataProvider providerGetDefaultForumId */ -- cgit v1.2.3