. * */ //require_once("../lib/template.php"); class Test_VCategories extends PHPUnit_Framework_TestCase { protected $objectType; protected $user; protected $backupGlobals = FALSE; public function setUp() { OC_User::clearBackends(); OC_User::useBackend('dummy'); $this->user = uniqid('user_'); $this->objectType = uniqid('type_'); OC_User::createUser($this->user, 'pass'); OC_User::setUserId($this->user); } public function tearDown() { //$query = OC_DB::prepare('DELETE FROM `*PREFIX*vcategories` WHERE `item_type` = ?'); //$query->execute(array('test')); } public function testInstantiateWithDefaults() { $defcategories = array('Friends', 'Family', 'Work', 'Other'); $catmgr = new OC_VCategories($this->objectType, $this->user, $defcategories); $this->assertEquals(4, count($catmgr->categories())); } public function testAddCategories() { $categories = array('Friends', 'Family', 'Work', 'Other'); $catmgr = new OC_VCategories($this->objectType, $this->user); foreach($categories as $category) { $result = $catmgr->add($category); $this->assertTrue((bool)$result); } $this->assertFalse($catmgr->add('Family')); $this->assertFalse($catmgr->add('fAMILY')); $this->assertEquals(4, count($catmgr->categories())); } public function testdeleteCategories() { $defcategories = array('Friends', 'Family', 'Work', 'Other'); $catmgr = new OC_VCategories($this->objectType, $this->user, $defcategories); $this->assertEquals(4, count($catmgr->categories())); $catmgr->delete('family'); $this->assertEquals(3, count($catmgr->categories())); $catmgr->delete(array('Friends', 'Work', 'Other')); $this->assertEquals(0, count($catmgr->categories())); } public function testAddToCategory() { $objids = array(1, 2, 3, 4, 5, 6, 7, 8, 9); $catmgr = new OC_VCategories($this->objectType, $this->user); foreach($objids as $id) { $catmgr->addToCategory($id, 'Family'); } $this->assertEquals(1, count($catmgr->categories())); $this->assertEquals(9, count($catmgr->idsForCategory('Family'))); } /** * @depends testAddToCategory */ public function testRemoveFromCategory() { $objids = array(1, 2, 3, 4, 5, 6, 7, 8, 9); // Is this "legal"? $this->testAddToCategory(); $catmgr = new OC_VCategories($this->objectType, $this->user); foreach($objids as $id) { $this->assertTrue(in_array($id, $catmgr->idsForCategory('Family'))); $catmgr->removeFromCategory($id, 'Family'); $this->assertFalse(in_array($id, $catmgr->idsForCategory('Family'))); } $this->assertEquals(1, count($catmgr->categories())); $this->assertEquals(0, count($catmgr->idsForCategory('Family'))); } }