aboutsummaryrefslogtreecommitdiffstats
path: root/tests/functional
diff options
context:
space:
mode:
authorMarc Alexander <admin@m-a-styles.de>2013-10-13 11:36:19 +0200
committerMarc Alexander <admin@m-a-styles.de>2013-10-13 12:06:02 +0200
commit1d57ec1f65246c98d6fe47eb50ab297cb772d1c5 (patch)
tree76725062b84c558198145c9a6b4e5b5729bcf093 /tests/functional
parent841dd6b19f08a575fe6d6e4794bdb9729e2ce6b8 (diff)
downloadforums-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.php55
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());
+ }
+}