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, "