From d05aebe54e02ab4a8362088ca09caaff265fa670 Mon Sep 17 00:00:00 2001 From: cweiske Date: Mon, 2 Nov 2009 09:35:38 +0000 Subject: allow changing of votes git-svn-id: https://semanticscuttle.svn.sourceforge.net/svnroot/semanticscuttle/trunk@493 b3834d28-1941-0410-a4f8-b48e95affb8f --- tests/VoteTest.php | 127 ++++++++++++++++++++++++++++++++++++++++++++++++++++- 1 file changed, 125 insertions(+), 2 deletions(-) (limited to 'tests/VoteTest.php') diff --git a/tests/VoteTest.php b/tests/VoteTest.php index 9d6d904..b211dcd 100644 --- a/tests/VoteTest.php +++ b/tests/VoteTest.php @@ -35,6 +35,13 @@ class VoteTest extends TestBase */ protected $vs = null; + /** + * Bookmark service instance. + * + * @var SemanticScuttle_Service_Bookmark + */ + protected $bs = null; + /** @@ -293,11 +300,11 @@ class VoteTest extends TestBase $uid = 1; $bid = $this->addBookmark(); $this->assertTrue($this->vs->vote($bid, $uid, 1)); - $this->assertFalse($this->vs->vote($bid, $uid, 1)); + $this->assertTrue($this->vs->vote($bid, $uid, 1)); $bid = $this->addBookmark(); $this->assertTrue($this->vs->vote($bid, $uid, -1)); - $this->assertFalse($this->vs->vote($bid, $uid, 1)); + $this->assertTrue($this->vs->vote($bid, $uid, 1)); } @@ -332,6 +339,122 @@ class VoteTest extends TestBase + /** + * Verify that changing the vote from positive to negative + * works. + * + * @return void + */ + public function testVoteChangePosNeg() + { + $uid = 1; + $bid = $this->addBookmark(); + + $this->assertTrue($this->vs->vote($bid, $uid, 1)); + $this->assertEquals(1, $this->vs->getVote($bid, $uid)); + $this->assertEquals(1, $this->vs->getVotes($bid)); + + $b = $this->bs->getBookmark($bid); + $this->assertEquals(1, $b['bVoting']); + + //change vote + $this->assertTrue($this->vs->vote($bid, $uid, -1)); + $this->assertEquals(-1, $this->vs->getVote($bid, $uid)); + $this->assertEquals(1, $this->vs->getVotes($bid)); + + $b = $this->bs->getBookmark($bid); + $this->assertEquals(-1, $b['bVoting']); + } + + + + /** + * Verify that changing the vote from negative to positive + * works. + * + * @return void + */ + public function testVoteChangeNegPos() + { + $uid = 1; + $bid = $this->addBookmark(); + + $this->assertTrue($this->vs->vote($bid, $uid, -1)); + $this->assertEquals(-1, $this->vs->getVote($bid, $uid)); + $this->assertEquals(1, $this->vs->getVotes($bid)); + + $b = $this->bs->getBookmark($bid); + $this->assertEquals(-1, $b['bVoting']); + + //change vote + $this->assertTrue($this->vs->vote($bid, $uid, 1)); + $this->assertEquals(1, $this->vs->getVote($bid, $uid)); + $this->assertEquals(1, $this->vs->getVotes($bid)); + + $b = $this->bs->getBookmark($bid); + $this->assertEquals(1, $b['bVoting']); + } + + + + /** + * Verify that changing the vote from postitive to positive + * has no strange effects + * + * @return void + */ + public function testVoteChangePosPos() + { + $uid = 1; + $bid = $this->addBookmark(); + + $this->assertTrue($this->vs->vote($bid, $uid, 1)); + $this->assertEquals(1, $this->vs->getVote($bid, $uid)); + $this->assertEquals(1, $this->vs->getVotes($bid)); + + $b = $this->bs->getBookmark($bid); + $this->assertEquals(1, $b['bVoting']); + + //change vote + $this->assertTrue($this->vs->vote($bid, $uid, 1)); + $this->assertEquals(1, $this->vs->getVote($bid, $uid)); + $this->assertEquals(1, $this->vs->getVotes($bid)); + + $b = $this->bs->getBookmark($bid); + $this->assertEquals(1, $b['bVoting']); + } + + + + /** + * Verify that changing the vote from postitive to positive + * has no strange effects + * + * @return void + */ + public function testVoteChangeNegNeg() + { + $uid = 1; + $bid = $this->addBookmark(); + + $this->assertTrue($this->vs->vote($bid, $uid, -1)); + $this->assertEquals(-1, $this->vs->getVote($bid, $uid)); + $this->assertEquals(1, $this->vs->getVotes($bid)); + + $b = $this->bs->getBookmark($bid); + $this->assertEquals(-1, $b['bVoting']); + + //change vote to same value + $this->assertTrue($this->vs->vote($bid, $uid, -1)); + $this->assertEquals(-1, $this->vs->getVote($bid, $uid)); + $this->assertEquals(1, $this->vs->getVotes($bid)); + + $b = $this->bs->getBookmark($bid); + $this->assertEquals(-1, $b['bVoting']); + } + + + /** * Test that rewriting votings does work * -- cgit v1.2.3