]> gitweb.fluxo.info Git - semanticscuttle.git/commitdiff
add test for Bookmark2Tag::getTagsForBookmark()
authorcweiske <cweiske@b3834d28-1941-0410-a4f8-b48e95affb8f>
Sat, 20 Feb 2010 11:08:52 +0000 (11:08 +0000)
committercweiske <cweiske@b3834d28-1941-0410-a4f8-b48e95affb8f>
Sat, 20 Feb 2010 11:08:52 +0000 (11:08 +0000)
git-svn-id: https://semanticscuttle.svn.sourceforge.net/svnroot/semanticscuttle/trunk@663 b3834d28-1941-0410-a4f8-b48e95affb8f

tests/Bookmark2TagTest.php [new file with mode: 0644]
tests/TestBase.php

diff --git a/tests/Bookmark2TagTest.php b/tests/Bookmark2TagTest.php
new file mode 100644 (file)
index 0000000..7d003c3
--- /dev/null
@@ -0,0 +1,128 @@
+<?php
+/**
+ * SemanticScuttle - your social bookmark manager.
+ *
+ * PHP version 5.
+ *
+ * @category Bookmarking
+ * @package  SemanticScuttle
+ * @author   Benjamin Huynh-Kim-Bang <mensonge@users.sourceforge.net>
+ * @author   Christian Weiske <cweiske@cweiske.de>
+ * @author   Eric Dane <ericdane@users.sourceforge.net>
+ * @license  GPL http://www.gnu.org/licenses/gpl.html
+ * @link     http://sourceforge.net/projects/semanticscuttle
+ */
+
+require_once 'prepare.php';
+
+if (!defined('PHPUnit_MAIN_METHOD')) {
+    define('PHPUnit_MAIN_METHOD', 'Bookmark2TagTest::main');
+}
+
+/**
+ * Unit tests for the SemanticScuttle bookmark-tag combination service.
+ *
+ * @category Bookmarking
+ * @package  SemanticScuttle
+ * @author   Benjamin Huynh-Kim-Bang <mensonge@users.sourceforge.net>
+ * @author   Christian Weiske <cweiske@cweiske.de>
+ * @author   Eric Dane <ericdane@users.sourceforge.net>
+ * @license  GPL http://www.gnu.org/licenses/gpl.html
+ * @link     http://sourceforge.net/projects/semanticscuttle
+ */
+class Bookmark2TagTest extends TestBase
+{
+    protected $us;
+    protected $bs;
+    protected $ts;
+    protected $tts;
+
+
+
+    /**
+     * Used to run this test class standalone
+     *
+     * @return void
+     */
+    public static function main()
+    {
+        require_once 'PHPUnit/TextUI/TestRunner.php';
+        PHPUnit_TextUI_TestRunner::run(
+            new PHPUnit_Framework_TestSuite(__CLASS__)
+        );
+    }
+
+
+
+    protected function setUp()
+    {
+        $this->us = SemanticScuttle_Service_Factory::get('User');
+        $this->bs = SemanticScuttle_Service_Factory::get('Bookmark');
+        $this->bs->deleteAll();
+        $this->b2ts= SemanticScuttle_Service_Factory::get('Bookmark2Tag');
+        $this->b2ts->deleteAll();
+        $this->tts = SemanticScuttle_Service_Factory::get('Tag2Tag');
+        $this->tts->deleteAll();
+        $this->tsts = SemanticScuttle_Service_Factory::get('TagStat');
+        $this->tsts->deleteAll();
+        $this->vs = SemanticScuttle_Service_Factory::get('Vote');
+        $this->vs->deleteAll();
+    }
+
+
+
+    /**
+     * Test getTagsForBookmark() when the bookmark has no tags
+     *
+     * @return void
+     */
+    public function testGetTagsForBookmarkNone()
+    {
+        $bid = $this->addBookmark(null, null, 0, array());
+        $this->assertEquals(
+            array(),
+            $this->b2ts->getTagsForBookmark($bid)
+        );
+    }
+
+
+
+    /**
+     * Test getTagsForBookmark() when the bookmark has one tag
+     *
+     * @return void
+     */
+    public function testGetTagsForBookmarkOne()
+    {
+        $bid = $this->addBookmark(null, null, 0, array());
+        $this->b2ts->attachTags($bid, array('foo'));
+        $this->assertEquals(
+            array('foo'),
+            $this->b2ts->getTagsForBookmark($bid)
+        );
+    }
+
+
+
+    /**
+     * Test getTagsForBookmark() when the bookmark has three tags
+     *
+     * @return void
+     */
+    public function testGetTagsForBookmarkThree()
+    {
+        $bid = $this->addBookmark(null, null, 0, array());
+        $this->b2ts->attachTags($bid, array('foo', 'bar', 'fuu'));
+
+        $tags = $this->b2ts->getTagsForBookmark($bid);
+        $this->assertType('array', $tags);
+        $this->assertContains('foo', $tags);
+        $this->assertContains('bar', $tags);
+        $this->assertContains('fuu', $tags);
+    }
+}
+
+if (PHPUnit_MAIN_METHOD == 'Bookmark2TagTest::main') {
+    Bookmark2TagTest::main();
+}
+?>
\ No newline at end of file
index 277be02f4620d1bd20a752206f9a29e9128588bc..28bda27ad475d2574700fe9507397f21563b066e 100644 (file)
@@ -32,17 +32,23 @@ class TestBase extends PHPUnit_Framework_TestCase
      * @param integer $user    User ID the bookmark shall belong
      * @param string  $address Bookmark address to use
      * @param integer $status  Bookmark visibility
+     * @param array   $tags    Array of tags to attach. If "null" is given,
+     *                         it will automatically be "unittest"
      *
      * @return integer ID of bookmark
      *
      * @see SemanticScuttle_Service_Bookmark::addBookmark()
      */
     protected function addBookmark(
-        $user = null, $address = null, $status = 0
+        $user = null, $address = null, $status = 0,
+        $tags = null
     ) {
         if ($user === null) {
             $user = $this->addUser();
         }
+        if ($tags === null) {
+            $tags = array('unittest');
+        }
 
         $bs   = SemanticScuttle_Service_Factory::get('Bookmark');
         $rand = rand();
@@ -57,7 +63,7 @@ class TestBase extends PHPUnit_Framework_TestCase
             'description',
             null,
             $status,
-            array('unittest'),
+            $tags,
             null, null, false, false,
             $user
         );