diff options
author | Marc Alexander <admin@m-a-styles.de> | 2013-10-13 11:36:19 +0200 |
---|---|---|
committer | Marc Alexander <admin@m-a-styles.de> | 2013-10-13 12:06:02 +0200 |
commit | 1d57ec1f65246c98d6fe47eb50ab297cb772d1c5 (patch) | |
tree | 76725062b84c558198145c9a6b4e5b5729bcf093 /tests/functional | |
parent | 841dd6b19f08a575fe6d6e4794bdb9729e2ce6b8 (diff) | |
download | forums-1d57ec1f65246c98d6fe47eb50ab297cb772d1c5.tar forums-1d57ec1f65246c98d6fe47eb50ab297cb772d1c5.tar.gz forums-1d57ec1f65246c98d6fe47eb50ab297cb772d1c5.tar.bz2 forums-1d57ec1f65246c98d6fe47eb50ab297cb772d1c5.tar.xz forums-1d57ec1f65246c98d6fe47eb50ab297cb772d1c5.zip |
[feature/passwords] Add functional tests for forum passwords
PHPBB3-11610
Diffstat (limited to 'tests/functional')
-rw-r--r-- | tests/functional/forum_password_test.php | 55 |
1 files changed, 55 insertions, 0 deletions
diff --git a/tests/functional/forum_password_test.php b/tests/functional/forum_password_test.php new file mode 100644 index 0000000000..40a8059ad1 --- /dev/null +++ b/tests/functional/forum_password_test.php @@ -0,0 +1,55 @@ +<?php +/** +* +* @package testing +* @copyright (c) 2013 phpBB Group +* @license http://opensource.org/licenses/gpl-2.0.php GNU General Public License v2 +* +*/ + +/** +* @group functional +*/ +class phpbb_functional_forum_password_test extends phpbb_functional_test_case +{ + public function test_setup_forum_with_password() + { + $this->login(); + $this->admin_login(); + + $crawler = self::request('GET', "adm/index.php?i=acp_forums&mode=manage&sid={$this->sid}"); + $form = $crawler->selectButton('addforum')->form(array( + 'forum_name' => 'Password protected', + )); + $crawler = self::submit($form); + $form = $crawler->selectButton('update')->form(array( + 'forum_perm_from' => 2, + 'forum_password' => 'foobar', + 'forum_password_confirm' => 'foobar', + )); + $crawler = self::submit($form); + } + + public function data_enter_forum_with_password() + { + return array( + array('foowrong', 'WRONG_PASSWORD'), + array('foobar', 'NO_TOPICS'), + ); + } + + /** + * @dataProvider data_enter_forum_with_password + */ + public function test_enter_forum_with_password($password, $message) + { + $crawler = self::request('GET', "index.php?sid={$this->sid}"); + preg_match('/.?f=([0-9])/', $crawler->selectLink('Password protected')->link()->getUri(), $match); + $crawler = self::request('GET', "viewforum.php?f={$match[1]}&sid={$this->sid}"); + $form = $crawler->selectButton('login')->form(array( + 'password' => $password, + )); + $crawler = self::submit($form); + $this->assertContainsLang($message, $crawler->text()); + } +} |