first working unittest for ajax/getcontacttags with login!

This commit is contained in:
Christian Weiske 2011-03-26 10:00:18 +01:00
parent 6d49b0622d
commit 0f9d06c664
2 changed files with 28 additions and 11 deletions

View file

@ -131,7 +131,6 @@ class TestBaseApi extends TestBase
*/
protected function getLoggedInRequest($urlSuffix = null, $auth = true)
{
$req = $this->getRequest($urlSuffix);
if (is_array($auth)) {
list($username, $password) = $auth;
} else {
@ -140,8 +139,22 @@ class TestBaseApi extends TestBase
}
$uid = $this->addUser($username, $password);
//FIXME: login via the login form, check if it worked
//FIXME: prepare new request with cookie
$req = new HTTP_Request2(
$GLOBALS['unittestUrl'] . '/login.php',
HTTP_Request2::METHOD_POST
);
$cookies = $req->setCookieJar()->getCookieJar();
$req->addPostParameter('username', $username);
$req->addPostParameter('password', $password);
$req->addPostParameter('submitted', 'Log In');
$res = $req->send();
//after login, we normally get redirected
$this->assertEquals(302, $res->getStatus(), 'Login failure');
$req = $this->getRequest($urlSuffix);
$req->setCookieJar($cookies);
return array($req, $uid);
}

View file

@ -47,13 +47,17 @@ class ajax_GetContactTagsTest extends TestBaseApi
}
public function testUserLoggedIn()
public function testUserLoggedInWatchlist()
{
list($req, $uId) = $this->getAuthRequest();
$this->addBookmark($uId, null, 0, array('public'));
$this->addBookmark($uId, null, 1, array('shared'));
$this->addBookmark($uId, null, 2, array('private'));
list($req, $uId) = $this->getLoggedInRequest();
$this->addBookmark($uId, null, 0, array('public', 'public2'));
$user2 = $this->addUser();
$this->us->setCurrentUserId($uId);
$this->us->setWatchStatus($user2);
//uId watches user2 now
$this->addBookmark($user2, null, 0, array('user2tag'));
$res = $req->send();
$this->assertEquals(200, $res->getStatus());
$this->assertEquals(
@ -64,8 +68,8 @@ class ajax_GetContactTagsTest extends TestBaseApi
$this->assertInternalType('array', $data);
$this->assertEquals(3, count($data));
$this->assertContains('public', $data);
$this->assertContains('shared', $data);
$this->assertContains('private', $data);
$this->assertContains('public2', $data);
$this->assertContains('user2tag', $data);
}
}