diff --git a/tests/UserTest.php b/tests/UserTest.php new file mode 100644 index 0000000..5c905a0 --- /dev/null +++ b/tests/UserTest.php @@ -0,0 +1,113 @@ + + * @author Christian Weiske + * @author Eric Dane + * @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', 'UserTest::main'); +} + +/** + * Unit tests for the SemanticScuttle user service. + * + * @category Bookmarking + * @package SemanticScuttle + * @author Benjamin Huynh-Kim-Bang + * @author Christian Weiske + * @author Eric Dane + * @license GPL http://www.gnu.org/licenses/gpl.html + * @link http://sourceforge.net/projects/semanticscuttle + */ +class UserTest extends TestBase +{ + + + + /** + * 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'); + } + + + + /** + * Test that setting the current user ID is permanent. + * and that the current user array is the same ID + * + * @return void + */ + public function testSetCurrentUserId() + { + $uid = $this->addUser(); + $uid2 = $this->addUser(); + + $this->us->setCurrentUserId($uid); + $this->assertEquals($uid, $this->us->getCurrentUserId()); + + $user = $this->us->getCurrentUser(); + $this->assertEquals($uid, $user['uId']); + } + + + + /** + * Test that changing the current user also + * changes the current user array + * + * @return void + */ + public function testSetCurrentUserIdChange() + { + $uid = $this->addUser(); + $uid2 = $this->addUser(); + $this->assertNotEquals($uid, $uid2); + + $this->us->setCurrentUserId($uid); + $this->assertEquals($uid, $this->us->getCurrentUserId()); + + $user = $this->us->getCurrentUser(); + $this->assertEquals($uid, $user['uId']); + + //change it + $this->us->setCurrentUserId($uid2); + $this->assertEquals($uid2, $this->us->getCurrentUserId()); + + $user = $this->us->getCurrentUser(); + $this->assertEquals($uid2, $user['uId']); + } + +} + + +if (PHPUnit_MAIN_METHOD == 'UserTest::main') { + UserTest::main(); +} + +?> \ No newline at end of file