first unit tests for Bookmark2Tag::getPopularTags
This commit is contained in:
parent
f67250a720
commit
d4ccb1d3d3
@ -204,6 +204,88 @@ class Bookmark2TagTest extends TestBase
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
/**
|
||||
* Create a bookmark
|
||||
*
|
||||
* @param integer $user User ID the bookmark shall belong
|
||||
* @param array $tags Array of tags to attach. If "null" is given,
|
||||
* it will automatically be "unittest"
|
||||
* @param string $date strtotime-compatible string
|
||||
* @param string $title Bookmark title
|
||||
*
|
||||
* @return integer ID of bookmark
|
||||
*/
|
||||
protected function addTagBookmark($user, $tags, $date = null, $title = null)
|
||||
{
|
||||
return $this->addBookmark(
|
||||
$user, null, 0, $tags, $title, $date
|
||||
);
|
||||
}
|
||||
|
||||
|
||||
|
||||
/**
|
||||
* Fetch the most popular tags in descending order
|
||||
*/
|
||||
public function testGetPopularTagsOrder()
|
||||
{
|
||||
$user = $this->addUser();
|
||||
$this->addTagBookmark($user, array('one', 'two'));
|
||||
$this->addTagBookmark($user, array('one', 'three'));
|
||||
$this->addTagBookmark($user, array('one', 'two'));
|
||||
|
||||
$arTags = $this->b2ts->getPopularTags();
|
||||
$this->assertInternalType('array', $arTags);
|
||||
$this->assertEquals(3, count($arTags));
|
||||
|
||||
$this->assertInternalType('array', $arTags[0]);
|
||||
|
||||
$this->assertEquals(
|
||||
array(
|
||||
array('tag' => 'one', 'bCount' => '3'),
|
||||
array('tag' => 'two', 'bCount' => '2'),
|
||||
array('tag' => 'three', 'bCount' => '1')
|
||||
),
|
||||
$arTags
|
||||
);
|
||||
}
|
||||
|
||||
|
||||
|
||||
public function testGetPopularTagsLimit()
|
||||
{
|
||||
$user = $this->addUser();
|
||||
$this->addTagBookmark($user, array('one', 'two'));
|
||||
$this->addTagBookmark($user, array('one', 'three'));
|
||||
$this->addTagBookmark($user, array('one', 'two'));
|
||||
|
||||
$arTags = $this->b2ts->getPopularTags();
|
||||
$this->assertInternalType('array', $arTags);
|
||||
$this->assertEquals(3, count($arTags));
|
||||
|
||||
$arTags = $this->b2ts->getPopularTags(null, 2);
|
||||
$this->assertInternalType('array', $arTags);
|
||||
$this->assertEquals(2, count($arTags));
|
||||
$this->assertEquals(
|
||||
array(
|
||||
array('tag' => 'one', 'bCount' => '3'),
|
||||
array('tag' => 'two', 'bCount' => '2'),
|
||||
),
|
||||
$arTags
|
||||
);
|
||||
|
||||
$arTags = $this->b2ts->getPopularTags(null, 1);
|
||||
$this->assertInternalType('array', $arTags);
|
||||
$this->assertEquals(1, count($arTags));
|
||||
$this->assertEquals(
|
||||
array(
|
||||
array('tag' => 'one', 'bCount' => '3'),
|
||||
),
|
||||
$arTags
|
||||
);
|
||||
}
|
||||
}
|
||||
|
||||
if (PHPUnit_MAIN_METHOD == 'Bookmark2TagTest::main') {
|
||||
|
@ -31,6 +31,7 @@ class TestBase extends PHPUnit_Framework_TestCase
|
||||
* @param array $tags Array of tags to attach. If "null" is given,
|
||||
* it will automatically be "unittest"
|
||||
* @param string $title Bookmark title
|
||||
* @param string $date strtotime-compatible string
|
||||
*
|
||||
* @return integer ID of bookmark
|
||||
*
|
||||
@ -38,7 +39,7 @@ class TestBase extends PHPUnit_Framework_TestCase
|
||||
*/
|
||||
protected function addBookmark(
|
||||
$user = null, $address = null, $status = 0,
|
||||
$tags = null, $title = null
|
||||
$tags = null, $title = null, $date = null
|
||||
) {
|
||||
if ($user === null) {
|
||||
$user = $this->addUser();
|
||||
@ -64,7 +65,7 @@ class TestBase extends PHPUnit_Framework_TestCase
|
||||
null,
|
||||
$status,
|
||||
$tags,
|
||||
null, null, false, false,
|
||||
null, $date, false, false,
|
||||
$user
|
||||
);
|
||||
return $bid;
|
||||
|
Loading…
Reference in New Issue
Block a user