1
0
mirror of https://github.com/phpbb/phpbb.git synced 2025-08-06 08:47:45 +02:00

[ticket/9549] Make the class non static and extend delete_group function.

delete_group() can now be used, so it does not update the actual group.
This can save a query, when you update the group anyway.

PHPBB3-9549
This commit is contained in:
Joas Schilling
2011-02-14 16:09:09 +01:00
parent 750fc3aca8
commit 8d12838aed
5 changed files with 154 additions and 110 deletions

View File

@@ -34,7 +34,8 @@ class phpbb_group_positions_test extends phpbb_database_test_case
$db = $this->new_dbal();
$this->assertEquals($expected, phpbb_group_positions::get_group_value($field, $group_id));
$test_class = new phpbb_group_positions($db, $field);
$this->assertEquals($expected, $test_class->get_group_value($group_id));
}
public static function get_group_count_data()
@@ -54,7 +55,8 @@ class phpbb_group_positions_test extends phpbb_database_test_case
$db = $this->new_dbal();
$this->assertEquals($expected, phpbb_group_positions::get_group_count($field));
$test_class = new phpbb_group_positions($db, $field);
$this->assertEquals($expected, $test_class->get_group_count());
}
public static function add_group_data()
@@ -81,7 +83,8 @@ class phpbb_group_positions_test extends phpbb_database_test_case
global $db;
$db = $this->new_dbal();
phpbb_group_positions::add_group($field, $group_id);
$test_class = new phpbb_group_positions($db, $field);
$test_class->add_group($group_id);
$result = $db->sql_query('SELECT group_id, group_teampage, group_legend
FROM ' . GROUPS_TABLE . '
@@ -93,33 +96,49 @@ class phpbb_group_positions_test extends phpbb_database_test_case
public static function delete_group_data()
{
return array(
array('teampage', 1, array(
array('teampage', 1, false, array(
array('group_id' => 1, 'group_teampage' => 0, 'group_legend' => 0),
array('group_id' => 2, 'group_teampage' => 1, 'group_legend' => 0),
array('group_id' => 3, 'group_teampage' => 2, 'group_legend' => 1),
)),
array('teampage', 2, array(
array('teampage', 2, false, array(
array('group_id' => 1, 'group_teampage' => 0, 'group_legend' => 0),
array('group_id' => 2, 'group_teampage' => 0, 'group_legend' => 0),
array('group_id' => 3, 'group_teampage' => 1, 'group_legend' => 1),
)),
array('teampage', 3, array(
array('teampage', 3, false, array(
array('group_id' => 1, 'group_teampage' => 0, 'group_legend' => 0),
array('group_id' => 2, 'group_teampage' => 1, 'group_legend' => 0),
array('group_id' => 3, 'group_teampage' => 0, 'group_legend' => 1),
)),
array('teampage', 1, true, array(
array('group_id' => 1, 'group_teampage' => 0, 'group_legend' => 0),
array('group_id' => 2, 'group_teampage' => 1, 'group_legend' => 0),
array('group_id' => 3, 'group_teampage' => 2, 'group_legend' => 1),
)),
array('teampage', 2, true, array(
array('group_id' => 1, 'group_teampage' => 0, 'group_legend' => 0),
array('group_id' => 2, 'group_teampage' => 1, 'group_legend' => 0),
array('group_id' => 3, 'group_teampage' => 1, 'group_legend' => 1),
)),
array('teampage', 3, true, array(
array('group_id' => 1, 'group_teampage' => 0, 'group_legend' => 0),
array('group_id' => 2, 'group_teampage' => 1, 'group_legend' => 0),
array('group_id' => 3, 'group_teampage' => 2, 'group_legend' => 1),
)),
);
}
/**
* @dataProvider delete_group_data
*/
public function test_delete_group($field, $group_id, $expected)
public function test_delete_group($field, $group_id, $skip_group, $expected)
{
global $db;
$db = $this->new_dbal();
phpbb_group_positions::delete_group($field, $group_id);
$test_class = new phpbb_group_positions($db, $field);
$test_class->delete_group($group_id, $skip_group);
$result = $db->sql_query('SELECT group_id, group_teampage, group_legend
FROM ' . GROUPS_TABLE . '
@@ -157,7 +176,8 @@ class phpbb_group_positions_test extends phpbb_database_test_case
global $db;
$db = $this->new_dbal();
phpbb_group_positions::move_up($field, $group_id);
$test_class = new phpbb_group_positions($db, $field);
$test_class->move_up($group_id);
$result = $db->sql_query('SELECT group_id, group_teampage, group_legend
FROM ' . GROUPS_TABLE . '
@@ -195,7 +215,8 @@ class phpbb_group_positions_test extends phpbb_database_test_case
global $db;
$db = $this->new_dbal();
phpbb_group_positions::move_down($field, $group_id);
$test_class = new phpbb_group_positions($db, $field);
$test_class->move_down($group_id);
$result = $db->sql_query('SELECT group_id, group_teampage, group_legend
FROM ' . GROUPS_TABLE . '