mirror of
https://github.com/phpbb/phpbb.git
synced 2025-08-13 04:04:12 +02:00
[ticket/9837] Make unapproved posts visible to posters
Add tests Tidy up code Improve user message formatting PHPBB3-9837
This commit is contained in:
@@ -3,17 +3,20 @@
|
||||
<table name="phpbb_topics">
|
||||
<column>topic_id</column>
|
||||
<column>forum_id</column>
|
||||
<column>topic_poster</column>
|
||||
<column>topic_visibility</column>
|
||||
<column>topic_title</column>
|
||||
<row>
|
||||
<value>1</value>
|
||||
<value>1</value>
|
||||
<value>0</value>
|
||||
<value>0</value>
|
||||
<value>Unapproved</value>
|
||||
</row>
|
||||
<row>
|
||||
<value>2</value>
|
||||
<value>1</value>
|
||||
<value>0</value>
|
||||
<value>1</value>
|
||||
<value>Approved</value>
|
||||
</row>
|
||||
@@ -21,13 +24,22 @@
|
||||
<value>3</value>
|
||||
<value>1</value>
|
||||
<value>2</value>
|
||||
<value>0</value>
|
||||
<value>Softdeleted</value>
|
||||
</row>
|
||||
<row>
|
||||
<value>4</value>
|
||||
<value>1</value>
|
||||
<value>1</value>
|
||||
<value>0</value>
|
||||
<value>Unapproved</value>
|
||||
</row>
|
||||
</table>
|
||||
<table name="phpbb_posts">
|
||||
<column>post_id</column>
|
||||
<column>topic_id</column>
|
||||
<column>forum_id</column>
|
||||
<column>poster_id</column>
|
||||
<column>post_visibility</column>
|
||||
<column>post_text</column>
|
||||
<row>
|
||||
@@ -35,12 +47,14 @@
|
||||
<value>1</value>
|
||||
<value>1</value>
|
||||
<value>0</value>
|
||||
<value>0</value>
|
||||
<value>Unapproved</value>
|
||||
</row>
|
||||
<row>
|
||||
<value>2</value>
|
||||
<value>2</value>
|
||||
<value>1</value>
|
||||
<value>0</value>
|
||||
<value>1</value>
|
||||
<value>Approved</value>
|
||||
</row>
|
||||
@@ -48,8 +62,17 @@
|
||||
<value>3</value>
|
||||
<value>3</value>
|
||||
<value>1</value>
|
||||
<value>0</value>
|
||||
<value>2</value>
|
||||
<value>Softdeleted</value>
|
||||
</row>
|
||||
<row>
|
||||
<value>4</value>
|
||||
<value>4</value>
|
||||
<value>1</value>
|
||||
<value>1</value>
|
||||
<value>0</value>
|
||||
<value>Unapproved</value>
|
||||
</row>
|
||||
</table>
|
||||
</dataset>
|
||||
|
@@ -21,8 +21,11 @@ class phpbb_content_visibility_get_visibility_sql_test extends phpbb_database_te
|
||||
public function get_visibility_sql_data()
|
||||
{
|
||||
return array(
|
||||
// data set 0: display_unapproved_posts=false, moderator, can see all posts
|
||||
array(
|
||||
'phpbb_posts',
|
||||
0,
|
||||
false,
|
||||
'post', 1, '',
|
||||
array(
|
||||
array('m_approve', 1, true),
|
||||
@@ -31,10 +34,14 @@ class phpbb_content_visibility_get_visibility_sql_test extends phpbb_database_te
|
||||
array('post_id' => 1),
|
||||
array('post_id' => 2),
|
||||
array('post_id' => 3),
|
||||
array('post_id' => 4),
|
||||
),
|
||||
),
|
||||
// data set 1: display_unapproved_posts=false, normal user, cannot see any unapproved posts
|
||||
array(
|
||||
'phpbb_posts',
|
||||
0,
|
||||
false,
|
||||
'post', 1, '',
|
||||
array(
|
||||
),
|
||||
@@ -42,8 +49,11 @@ class phpbb_content_visibility_get_visibility_sql_test extends phpbb_database_te
|
||||
array('post_id' => 2),
|
||||
),
|
||||
),
|
||||
// data set 2: display_unapproved_posts=false, moderator, can see all topics
|
||||
array(
|
||||
'phpbb_topics',
|
||||
0,
|
||||
false,
|
||||
'topic', 1, '',
|
||||
array(
|
||||
array('m_approve', 1, true),
|
||||
@@ -52,23 +62,74 @@ class phpbb_content_visibility_get_visibility_sql_test extends phpbb_database_te
|
||||
array('topic_id' => 1),
|
||||
array('topic_id' => 2),
|
||||
array('topic_id' => 3),
|
||||
array('topic_id' => 4),
|
||||
),
|
||||
),
|
||||
// data set 3: display_unapproved_posts=false, normal user, cannot see unapproved posts topic
|
||||
array(
|
||||
'phpbb_topics',
|
||||
0,
|
||||
false,
|
||||
'topic', 1, '',
|
||||
array(),
|
||||
array(
|
||||
array('topic_id' => 2),
|
||||
),
|
||||
),
|
||||
// data set 4: display_unapproved_posts=true, guest user, cannot see unapproved posts
|
||||
array(
|
||||
'phpbb_posts',
|
||||
1,
|
||||
true,
|
||||
'post', 1, '',
|
||||
array(
|
||||
),
|
||||
array(
|
||||
array('post_id' => 2),
|
||||
),
|
||||
),
|
||||
// data set 5: display_unapproved_posts=true, guest user, cannot see unapproved posts topic
|
||||
array(
|
||||
'phpbb_topics',
|
||||
1,
|
||||
true,
|
||||
'topic', 1, '',
|
||||
array(),
|
||||
array(
|
||||
array('topic_id' => 2),
|
||||
),
|
||||
),
|
||||
// data set 6: display_unapproved_posts=true, normal user, can see own unapproved posts
|
||||
array(
|
||||
'phpbb_posts',
|
||||
0,
|
||||
true,
|
||||
'post', 1, '',
|
||||
array(),
|
||||
array(
|
||||
array('post_id' => 1),
|
||||
array('post_id' => 2),
|
||||
),
|
||||
),
|
||||
// data set 7: display_unapproved_posts=true, normal user, can see own unapproved posts topic
|
||||
array(
|
||||
'phpbb_topics',
|
||||
0,
|
||||
true,
|
||||
'topic', 1, '',
|
||||
array(),
|
||||
array(
|
||||
array('topic_id' => 1),
|
||||
array('topic_id' => 2),
|
||||
),
|
||||
),
|
||||
);
|
||||
}
|
||||
|
||||
/**
|
||||
* @dataProvider get_visibility_sql_data
|
||||
*/
|
||||
public function test_get_visibility_sql($table, $mode, $forum_id, $table_alias, $permissions, $expected)
|
||||
public function test_get_visibility_sql($table, $user_id, $display_unapproved, $mode, $forum_id, $table_alias, $permissions, $expected)
|
||||
{
|
||||
global $cache, $db, $auth, $phpbb_root_path, $phpEx;
|
||||
|
||||
@@ -84,7 +145,10 @@ class phpbb_content_visibility_get_visibility_sql_test extends phpbb_database_te
|
||||
$lang_loader = new \phpbb\language\language_file_loader($phpbb_root_path, $phpEx);
|
||||
$lang = new \phpbb\language\language($lang_loader);
|
||||
$user = new \phpbb\user($lang, '\phpbb\datetime');
|
||||
$config = new phpbb\config\config(array());
|
||||
$user->data['user_id'] = $user_id;
|
||||
$config = $this->config = new \phpbb\config\config(array(
|
||||
'display_unapproved_posts' => $display_unapproved,
|
||||
));
|
||||
$phpbb_dispatcher = new phpbb_mock_event_dispatcher();
|
||||
$content_visibility = new \phpbb\content_visibility($auth, $config, $phpbb_dispatcher, $db, $user, $phpbb_root_path, $phpEx, FORUMS_TABLE, POSTS_TABLE, TOPICS_TABLE, USERS_TABLE);
|
||||
|
||||
|
Reference in New Issue
Block a user