aboutsummaryrefslogtreecommitdiffstats
path: root/tests
diff options
context:
space:
mode:
authorMarc Alexander <admin@m-a-styles.de>2014-09-07 11:58:57 +0200
committerMarc Alexander <admin@m-a-styles.de>2014-09-07 11:58:57 +0200
commitc00e0c55c5ae768fd7c895d361fdb447810fb630 (patch)
treea8923253b75255603793055b0a423a7fddb05931 /tests
parentaf10ca630d93adc41669b1f39288d5c808d322a2 (diff)
parenta0ee6ccdf3e8c6fc136687b672b98f8275008b9c (diff)
downloadforums-c00e0c55c5ae768fd7c895d361fdb447810fb630.tar
forums-c00e0c55c5ae768fd7c895d361fdb447810fb630.tar.gz
forums-c00e0c55c5ae768fd7c895d361fdb447810fb630.tar.bz2
forums-c00e0c55c5ae768fd7c895d361fdb447810fb630.tar.xz
forums-c00e0c55c5ae768fd7c895d361fdb447810fb630.zip
Merge branch 'develop-ascraeus' into develop
Diffstat (limited to 'tests')
-rw-r--r--tests/functional/ucp_preferences_test.php85
1 files changed, 85 insertions, 0 deletions
diff --git a/tests/functional/ucp_preferences_test.php b/tests/functional/ucp_preferences_test.php
new file mode 100644
index 0000000000..7ef325dc4b
--- /dev/null
+++ b/tests/functional/ucp_preferences_test.php
@@ -0,0 +1,85 @@
+<?php
+/**
+*
+* This file is part of the phpBB Forum Software package.
+*
+* @copyright (c) phpBB Limited <https://www.phpbb.com>
+* @license GNU General Public License, version 2 (GPL-2.0)
+*
+* For full copyright and license information, please see
+* the docs/CREDITS.txt file.
+*
+*/
+
+/**
+* @group functional
+*/
+class phpbb_functional_ucp_preferences_test extends phpbb_functional_test_case
+{
+ public function test_submitting_preferences_view()
+ {
+ $this->add_lang('ucp');
+ $this->login();
+
+ $crawler = self::request('GET', 'ucp.php?i=ucp_prefs&mode=view');
+ $this->assertContainsLang('UCP_PREFS_VIEW', $crawler->filter('#cp-main h2')->text());
+
+ $form = $crawler->selectButton('Submit')->form(array(
+ 'topic_sk' => 'a',
+ 'topic_sd' => 'a',
+ 'topic_st' => '1',
+ 'post_sk' => 'a',
+ 'post_sd' => 'a',
+ 'post_st' => '1',
+ ));
+
+ $crawler = self::submit($form);
+ $this->assertContainsLang('PREFERENCES_UPDATED', $crawler->filter('#message')->text());
+ }
+
+ public function test_submitting_invalid_preferences_view()
+ {
+ $this->add_lang('ucp');
+ $this->login();
+
+ $crawler = self::request('GET', 'ucp.php?i=ucp_prefs&mode=view');
+ $this->assertContainsLang('UCP_PREFS_VIEW', $crawler->filter('#cp-main h2')->text());
+ $form = $crawler->selectButton('Submit')->form();
+
+ if (!method_exists($form, 'disableValidation'))
+ {
+ $this->markTestIncomplete('The crawler cannot select invalid values, until Symfony 2.4!');
+ }
+
+ $form = $form->disableValidation();
+ $form['topic_sk']->select('z');
+ $form['topic_sd']->select('z');
+ $form['topic_st']->select('test');
+ $form['post_sk']->select('z');
+ $form['post_sd']->select('z');
+ $form['post_st']->select('test');
+
+ $crawler = self::submit($form);
+ $this->assertContainsLang('WRONG_DATA_POST_SD', $crawler->filter('#cp-main')->text());
+ $this->assertContainsLang('WRONG_DATA_POST_SK', $crawler->filter('#cp-main')->text());
+ $this->assertContainsLang('WRONG_DATA_TOPIC_SD', $crawler->filter('#cp-main')->text());
+ $this->assertContainsLang('WRONG_DATA_TOPIC_SK', $crawler->filter('#cp-main')->text());
+ }
+
+ public function test_read_preferences_view()
+ {
+ $this->add_lang('ucp');
+ $this->login();
+
+ $crawler = self::request('GET', 'ucp.php?i=ucp_prefs&mode=view');
+ $this->assertContainsLang('UCP_PREFS_VIEW', $crawler->filter('#cp-main h2')->text());
+ $form = $crawler->selectButton('Submit')->form();
+
+ $this->assertEquals('a', $form->get('topic_sk')->getValue());
+ $this->assertEquals('a', $form->get('topic_sd')->getValue());
+ $this->assertEquals('1', $form->get('topic_st')->getValue());
+ $this->assertEquals('a', $form->get('post_sk')->getValue());
+ $this->assertEquals('a', $form->get('post_sd')->getValue());
+ $this->assertEquals('1', $form->get('post_st')->getValue());
+ }
+}