📄 articlecategories_test.class.php
字号:
<?php include_once( PLOG_CLASS_PATH."class/test/helpers/lifetypetestcase.class.php" ); include_once( PLOG_CLASS_PATH."class/test/helpers/testtools.class.php" ); include_once( PLOG_CLASS_PATH."class/dao/articlecategory.class.php" ); include_once( PLOG_CLASS_PATH."class/dao/articlecategories.class.php" ); /** * \ingroup Test * * Test cases for the ArticleCategories class */ class ArticleCategories_Test extends LifeTypeTestCase { /** * Regression test for Mantis case http://bugs.lifetype.net/view.php?id=1100 -- category * counters getting out of sync. */ function testArticleCategoriesCounters() { // create the test data $data = TestTools::createBlogScenario( Array( "num_articles" => 5, "num_categories" => 3 )); // add an article to one of the categories $article = TestTools::createArticle( $data["blog"]->getId(), $data["user"]->getId(), Array( $data["categories"][0]->getId()), POST_STATUS_DRAFT ); $this->assertTrue( $article, "Error creating test article!" ); // check that the counter has been updated $articleCategories = new ArticleCategories(); $updatedCat = $articleCategories->getCategory( $data["categories"][0]->getId()); $this->assertTrue( $updatedCat->getNumArticles( POST_STATUS_ALL ) == ($data["categories"][0]->getNumArticles() + 1 ), "Article category counters are not valid!" ); // now let's mess up the database a little $db =& Db::getDb(); $db->Execute( "UPDATE ".Db::getPrefix(). "articles_categories SET num_published_articles = 234234, num_articles = 2342 ". "WHERE id = ".$data["categories"][1]->getId()); // trigger a cache reset $articleCategories->_cache->removeData( $data["categories"][1]->getId(), CACHE_ARTICLE_CATEGORIES ); // update the category, relaod it and check that the counters are correct again $tmp = $data["categories"][1]; $articleCategories->updateCategory( $tmp ); $updatedCat2 = $articleCategories->getCategory( $data["categories"][1]->getId()); $this->assertTrue( $updatedCat2->getNumArticles( POST_STATUS_ALL ) == $data["categories"][1]->getNumArticles( POST_STATUS_ALL ), "Article category counters do not match!" ); $this->assertTrue( $updatedCat2->getNumPublishedArticles() == $data["categories"][1]->getNumPublishedArticles(), "Article category counters do not match!" ); // delete the test data //TestTools::deleteDaoTestData( Array( $data["blog"], $data["user"] )); //TestTools::deleteDaoTestData( $data["categories"] ); //TestTools::deleteDaoTestData( $data["articles"] ); } }?>
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -