events = new Events($GLOBALS['dbi']);
}
/**
* Tear down
*
* @return void
*/
public function tearDown()
{
if ($GLOBALS['tear_down']['server']) {
unset($GLOBALS['cfg']['ServerDefault']);
}
unset($GLOBALS['tear_down']);
}
/**
* Test for getDataFromRequest
*
* @param array $in Input
* @param array $out Expected output
*
* @return void
*
* @dataProvider providerGetDataFromRequest
*/
public function testGetDataFromRequestEmpty($in, $out)
{
global $_REQUEST;
unset($_REQUEST);
foreach ($in as $key => $value) {
if ($value !== '') {
$_REQUEST[$key] = $value;
}
}
$this->assertEquals($out, $this->events->getDataFromRequest());
}
/**
* Data provider for testGetDataFromRequestEmpty
*
* @return array
*/
public function providerGetDataFromRequest()
{
return [
[
[
'item_name' => '',
'item_type' => '',
'item_original_name' => '',
'item_status' => '',
'item_execute_at' => '',
'item_interval_value' => '',
'item_interval_field' => '',
'item_starts' => '',
'item_ends' => '',
'item_definition' => '',
'item_preserve' => '',
'item_comment' => '',
'item_definer' => ''
],
[
'item_name' => '',
'item_type' => 'ONE TIME',
'item_type_toggle' => 'RECURRING',
'item_original_name' => '',
'item_status' => '',
'item_execute_at' => '',
'item_interval_value' => '',
'item_interval_field' => '',
'item_starts' => '',
'item_ends' => '',
'item_definition' => '',
'item_preserve' => '',
'item_comment' => '',
'item_definer' => ''
]
],
[
[
'item_name' => 'foo',
'item_type' => 'RECURRING',
'item_original_name' => 'foo',
'item_status' => 'foo',
'item_execute_at' => 'foo',
'item_interval_value' => 'foo',
'item_interval_field' => 'foo',
'item_starts' => 'foo',
'item_ends' => 'foo',
'item_definition' => 'foo',
'item_preserve' => 'foo',
'item_comment' => 'foo',
'item_definer' => 'foo'
],
[
'item_name' => 'foo',
'item_type' => 'RECURRING',
'item_type_toggle' => 'ONE TIME',
'item_original_name' => 'foo',
'item_status' => 'foo',
'item_execute_at' => 'foo',
'item_interval_value' => 'foo',
'item_interval_field' => 'foo',
'item_starts' => 'foo',
'item_ends' => 'foo',
'item_definition' => 'foo',
'item_preserve' => 'foo',
'item_comment' => 'foo',
'item_definer' => 'foo'
]
],
];
}
/**
* Test for getEditorForm
*
* @param array $data Data for routine
* @param array $matcher Matcher
*
* @return void
*
* @dataProvider providerGetEditorFormAdd
*/
public function testGetEditorFormAdd($data, $matcher)
{
$this->events->setGlobals();
$this->assertContains(
$matcher,
$this->events->getEditorForm('add', 'change', $data)
);
}
/**
* Data provider for testGetEditorFormAdd
*
* @return array
*/
public function providerGetEditorFormAdd()
{
$data = [
'item_name' => '',
'item_type' => 'ONE TIME',
'item_type_toggle' => 'RECURRING',
'item_original_name' => '',
'item_status' => '',
'item_execute_at' => '',
'item_interval_value' => '',
'item_interval_field' => '',
'item_starts' => '',
'item_ends' => '',
'item_definition' => '',
'item_preserve' => '',
'item_comment' => '',
'item_definer' => ''
];
return [
[
$data,
"events->setGlobals();
$this->assertContains(
$matcher,
$this->events->getEditorForm('edit', 'change', $data)
);
}
/**
* Data provider for testGetEditorFormEdit
*
* @return array
*/
public function providerGetEditorFormEdit()
{
$data = [
'item_name' => 'foo',
'item_type' => 'RECURRING',
'item_type_toggle' => 'ONE TIME',
'item_original_name' => 'bar',
'item_status' => 'ENABLED',
'item_execute_at' => '',
'item_interval_value' => '1',
'item_interval_field' => 'DAY',
'item_starts' => '',
'item_ends' => '',
'item_definition' => 'SET @A=1;',
'item_preserve' => '',
'item_comment' => '',
'item_definer' => ''
];
return [
[
$data,
"setAjax(true);
$this->events->setGlobals();
$this->assertContains(
$matcher,
$this->events->getEditorForm('edit', 'change', $data)
);
Response::getInstance()->setAjax(false);
}
/**
* Data provider for testGetEditorFormAjax
*
* @return array
*/
public function providerGetEditorFormAjax()
{
$data = [
'item_name' => '',
'item_type' => 'RECURRING',
'item_type_toggle' => 'ONE TIME',
'item_original_name' => '',
'item_status' => 'ENABLED',
'item_execute_at' => '',
'item_interval_value' => '',
'item_interval_field' => 'DAY',
'item_starts' => '',
'item_ends' => '',
'item_definition' => '',
'item_preserve' => '',
'item_comment' => '',
'item_definer' => ''
];
return [
[
$data,
"