aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--tests/functional/auth_test.php12
-rw-r--r--tests/test_framework/phpbb_functional_test_case.php57
2 files changed, 40 insertions, 29 deletions
diff --git a/tests/functional/auth_test.php b/tests/functional/auth_test.php
index e67118d8f9..3e218ebd77 100644
--- a/tests/functional/auth_test.php
+++ b/tests/functional/auth_test.php
@@ -18,16 +18,18 @@ class phpbb_functional_auth_test extends phpbb_functional_test_case
// check for logout link
$crawler = $this->request('GET', 'index.php');
+ $this->assert_response_success();
$this->assertContains($this->lang('LOGOUT_USER', 'admin'), $crawler->filter('.navbar')->text());
}
public function test_login_other()
{
- $this->create_user('user');
- $this->login('user');
+ $this->create_user('anothertestuser');
+ $this->login('anothertestuser');
$crawler = $this->request('GET', 'index.php');
- $this->assertContains('user', $crawler->filter('.icon-logout')->text());
- $this->delete_user('user');
+ $this->assert_response_success();
+ $this->assertContains('anothertestuser', $crawler->filter('.icon-logout')->text());
+ $this->delete_user('anothertestuser');
}
/**
@@ -40,10 +42,12 @@ class phpbb_functional_auth_test extends phpbb_functional_test_case
// logout
$crawler = $this->request('GET', 'ucp.php?sid=' . $this->sid . '&mode=logout');
+ $this->assert_response_success();
$this->assertContains($this->lang('LOGOUT_REDIRECT'), $crawler->filter('#message')->text());
// look for a register link, which should be visible only when logged out
$crawler = $this->request('GET', 'index.php');
+ $this->assert_response_success();
$this->assertContains($this->lang('REGISTER'), $crawler->filter('.navbar')->text());
}
}
diff --git a/tests/test_framework/phpbb_functional_test_case.php b/tests/test_framework/phpbb_functional_test_case.php
index 3b6232d091..b17b2dcd5f 100644
--- a/tests/test_framework/phpbb_functional_test_case.php
+++ b/tests/test_framework/phpbb_functional_test_case.php
@@ -32,11 +32,6 @@ class phpbb_functional_test_case extends phpbb_test_case
*/
protected $lang = array();
- /**
- * @var array
- */
- protected $created_users = array();
-
static protected $config = array();
static protected $already_installed = false;
@@ -225,14 +220,10 @@ class phpbb_functional_test_case extends phpbb_test_case
* requires create_user.
*
* @param string $username Also doubles up as the user's password
+ * @return int ID of created user
*/
protected function create_user($username)
{
- if (isset($this->created_users[$username]))
- {
- return;
- }
-
// Required by unique_id
global $config;
@@ -243,17 +234,36 @@ class phpbb_functional_test_case extends phpbb_test_case
$config['rand_seed'] = '';
$config['rand_seed_last_update'] = time() + 600;
-
+
+ // Required by user_add
+ global $db, $cache;
$db = $this->get_db();
- $query = "
- INSERT INTO " . self::$config['table_prefix'] . "users
- (user_type, group_id, username, username_clean, user_regdate, user_password, user_email, user_lang, user_style, user_rank, user_colour, user_posts, user_permissions, user_ip, user_birthday, user_lastpage, user_last_confirm_key, user_post_sortby_type, user_post_sortby_dir, user_topic_sortby_type, user_topic_sortby_dir, user_avatar, user_sig, user_sig_bbcode_uid, user_from, user_icq, user_aim, user_yim, user_msnm, user_jabber, user_website, user_occ, user_interests, user_actkey, user_newpasswd)
- VALUES
- (0, 2, 'user', 'user', 0, '" . phpbb_hash($username) . "', 'nobody@example.com', 'en', 1, 0, '', 1, '', '', '', '', '', 't', 'a', 't', 'd', '', '', '', '', '', '', '', '', '', '', '', '', '', '')
- ";
+ if (!function_exists('phpbb_mock_null_cache'))
+ {
+ require_once(__DIR__ . '/../mock/null_cache.php');
+ }
+ $cache = new phpbb_mock_null_cache;
- $db->sql_query($query);
- $this->created_users[$username] = 1;
+ if (!function_exists('utf_clean_string'))
+ {
+ require_once(__DIR__ . '/../../phpBB/includes/utf/utf_tools.php');
+ }
+ if (!function_exists('user_add'))
+ {
+ require_once(__DIR__ . '/../../phpBB/includes/functions_user.php');
+ }
+
+ $user_row = array(
+ 'username' => $username,
+ 'group_id' => 2,
+ 'user_email' => 'nobody@example.com',
+ 'user_type' => 0,
+ 'user_lang' => 'en',
+ 'user_timezone' => 0,
+ 'user_dateformat' => '',
+ 'user_password' => phpbb_hash($username),
+ );
+ return user_add($user_row);
}
/**
@@ -263,11 +273,6 @@ class phpbb_functional_test_case extends phpbb_test_case
*/
protected function delete_user($username)
{
- if (isset($this->created_users[$username]))
- {
- unset($this->created_users[$username]);
- }
-
$db = $this->get_db();
$query = "DELETE FROM " . self::$config['table_prefix'] . "users WHERE username = '" . $db->sql_escape($username) . "'";
$db->sql_query($query);
@@ -281,7 +286,9 @@ class phpbb_functional_test_case extends phpbb_test_case
$this->assertContains($this->lang('LOGIN_EXPLAIN_UCP'), $crawler->filter('html')->text());
$form = $crawler->selectButton($this->lang('LOGIN'))->form();
- $login = $this->client->submit($form, array('username' => $username, 'password' => $username));
+ $crawler = $this->client->submit($form, array('username' => $username, 'password' => $username));
+ $this->assert_response_success();
+ $this->assertContains($this->lang('LOGIN_REDIRECT'), $crawler->filter('html')->text());
$cookies = $this->cookieJar->all();