mirror of
https://github.com/phpbb/phpbb.git
synced 2025-01-17 22:28:46 +01:00
[ticket/15696] Add tests
PHPBB3-15696
This commit is contained in:
parent
1afc0673dd
commit
9ee7b9b81f
136
tests/migrator/get_callable_from_step_test.php
Normal file
136
tests/migrator/get_callable_from_step_test.php
Normal file
@ -0,0 +1,136 @@
|
||||
<?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.
|
||||
*
|
||||
*/
|
||||
|
||||
class get_callable_from_step_test extends phpbb_database_test_case
|
||||
{
|
||||
public function setUp()
|
||||
{
|
||||
global $phpbb_root_path, $php_ext, $table_prefix, $phpbb_log;
|
||||
|
||||
parent::setUp();
|
||||
|
||||
$phpbb_log = $this->getMockBuilder('\phpbb\log\log')->disableOriginalConstructor()->getMock();
|
||||
$db = $this->new_dbal();
|
||||
$factory = new \phpbb\db\tools\factory();
|
||||
$cache_service = $this->getMockBuilder('\phpbb\cache\service')->disableOriginalConstructor()->getMock();
|
||||
$user = $this->getMockBuilder('\phpbb\user')->disableOriginalConstructor()->getMock();
|
||||
$module_manager = new \phpbb\module\module_manager(
|
||||
$this->getMockBuilder('\phpbb\cache\driver\dummy')->disableOriginalConstructor()->getMock(),
|
||||
$db,
|
||||
new phpbb_mock_extension_manager($phpbb_root_path),
|
||||
'phpbb_modules',
|
||||
$phpbb_root_path,
|
||||
$php_ext
|
||||
);
|
||||
$module_tools = new \phpbb\db\migration\tool\module($db, $cache_service, $user, $module_manager, $phpbb_root_path, $php_ext, 'phpbb_modules');
|
||||
$this->migrator = new \phpbb\db\migrator(
|
||||
new phpbb_mock_container_builder(),
|
||||
new \phpbb\config\config(array()),
|
||||
$db,
|
||||
$factory->get($db),
|
||||
'phpbb_migrations',
|
||||
$phpbb_root_path,
|
||||
$php_ext,
|
||||
$table_prefix,
|
||||
array($module_tools),
|
||||
new \phpbb\db\migration\helper()
|
||||
);
|
||||
|
||||
if (!$module_tools->exists('acp', 0, 'new_module_langname'))
|
||||
{
|
||||
$module_tools->add('acp', 0, array(
|
||||
'module_basename' => 'new_module_basename',
|
||||
'module_langname' => 'new_module_langname',
|
||||
'module_mode' => 'settings',
|
||||
'module_auth' => '',
|
||||
'module_display' => true,
|
||||
'before' => false,
|
||||
'after' => false,
|
||||
));
|
||||
$this->module_added = true;
|
||||
}
|
||||
}
|
||||
|
||||
public function getDataSet()
|
||||
{
|
||||
return $this->createXMLDataSet(dirname(__FILE__).'/../dbal/fixtures/migrator.xml');
|
||||
}
|
||||
|
||||
public function get_callable_from_step_provider()
|
||||
{
|
||||
return array(
|
||||
array(
|
||||
array('if', array(
|
||||
false,
|
||||
array('permission.add', array('some_data')),
|
||||
)),
|
||||
true, // expects false
|
||||
),
|
||||
array(
|
||||
array('if', array(
|
||||
array('module.exists', array(
|
||||
'mcp',
|
||||
'RANDOM_PARENT',
|
||||
'RANDOM_MODULE'
|
||||
)),
|
||||
array('permission.add', array('some_data')),
|
||||
)),
|
||||
true, // expects false
|
||||
),
|
||||
array(
|
||||
array('if', array(
|
||||
array('module.exists', array(
|
||||
'acp',
|
||||
0,
|
||||
'new_module_langname'
|
||||
)),
|
||||
array('module.add', array(
|
||||
'acp',
|
||||
0,
|
||||
'module_basename' => 'new_module_basename2',
|
||||
'module_langname' => 'new_module_langname2',
|
||||
'module_mode' => 'settings',
|
||||
'module_auth' => '',
|
||||
'module_display' => true,
|
||||
'before' => false,
|
||||
'after' => false,
|
||||
)),
|
||||
)),
|
||||
false, // expects false
|
||||
),
|
||||
);
|
||||
}
|
||||
|
||||
/**
|
||||
* @dataProvider get_callable_from_step_provider
|
||||
*/
|
||||
public function test_get_callable_from_step($step, $expects_false)
|
||||
{
|
||||
if ($expects_false)
|
||||
{
|
||||
$this->assertFalse($this->call_get_callable_from_step($step));
|
||||
}
|
||||
else
|
||||
{
|
||||
$this->assertNotFalse($this->call_get_callable_from_step($step));
|
||||
}
|
||||
}
|
||||
|
||||
protected function call_get_callable_from_step($step)
|
||||
{
|
||||
$class = new ReflectionClass($this->migrator);
|
||||
$method = $class->getMethod('get_callable_from_step');
|
||||
$method->setAccessible(true);
|
||||
return $method->invokeArgs($this->migrator, array($step));
|
||||
}
|
||||
}
|
Loading…
x
Reference in New Issue
Block a user