diff options
author | Joas Schilling <nickvergessen@gmx.de> | 2011-02-16 18:15:52 +0100 |
---|---|---|
committer | Joas Schilling <nickvergessen@gmx.de> | 2011-02-16 18:22:32 +0100 |
commit | f908a016612c47542971d829b9aeed95db829b77 (patch) | |
tree | 2cd820a60104308e9924b1b6e713a94cf8245ffb /tests/group_positions | |
parent | d2e2ccf8a49a3d62d3de3145e114d3ed0b255465 (diff) | |
download | forums-f908a016612c47542971d829b9aeed95db829b77.tar forums-f908a016612c47542971d829b9aeed95db829b77.tar.gz forums-f908a016612c47542971d829b9aeed95db829b77.tar.bz2 forums-f908a016612c47542971d829b9aeed95db829b77.tar.xz forums-f908a016612c47542971d829b9aeed95db829b77.zip |
[ticket/9549] New method move() to move a group more than 1 up/down.
PHPBB3-9549
Diffstat (limited to 'tests/group_positions')
-rw-r--r-- | tests/group_positions/group_positions_test.php | 59 |
1 files changed, 59 insertions, 0 deletions
diff --git a/tests/group_positions/group_positions_test.php b/tests/group_positions/group_positions_test.php index 7454402194..b68f205b37 100644 --- a/tests/group_positions/group_positions_test.php +++ b/tests/group_positions/group_positions_test.php @@ -224,5 +224,64 @@ class phpbb_group_positions_test extends phpbb_database_test_case $this->assertEquals($expected, $db->sql_fetchrowset($result)); } + + public static function move_data() + { + return array( + array('teampage', 1, 1, 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', 1, -1, 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', 3, 3, array( + array('group_id' => 1, 'group_teampage' => 0, 'group_legend' => 0), + array('group_id' => 2, 'group_teampage' => 2, 'group_legend' => 0), + array('group_id' => 3, 'group_teampage' => 1, 'group_legend' => 1), + )), + array('teampage', 2, 0, 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, -1, array( + array('group_id' => 1, 'group_teampage' => 0, 'group_legend' => 0), + array('group_id' => 2, 'group_teampage' => 2, 'group_legend' => 0), + array('group_id' => 3, 'group_teampage' => 1, 'group_legend' => 1), + )), + array('teampage', 2, -3, array( + array('group_id' => 1, 'group_teampage' => 0, 'group_legend' => 0), + array('group_id' => 2, 'group_teampage' => 2, 'group_legend' => 0), + array('group_id' => 3, 'group_teampage' => 1, 'group_legend' => 1), + )), + array('teampage', 3, -1, 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 move_data + */ + public function test_move($field, $group_id, $increment, $expected) + { + global $db; + + $db = $this->new_dbal(); + $test_class = new phpbb_group_positions($db, $field); + $test_class->move($group_id, $increment); + + $result = $db->sql_query('SELECT group_id, group_teampage, group_legend + FROM ' . GROUPS_TABLE . ' + ORDER BY group_id ASC'); + + $this->assertEquals($expected, $db->sql_fetchrowset($result)); + } } |