diff options
author | sten <stenmarsh938@gmail.com> | 2016-03-18 12:15:06 +0300 |
---|---|---|
committer | sten <stenmarsh938@gmail.com> | 2016-03-18 12:15:06 +0300 |
commit | 698e8857350447eda51109186ae6732a68e0f13a (patch) | |
tree | 3d45e8840f9f544d033bcebcd2d7d800dfa5e419 /tests | |
parent | dbe8356cf827871e09e3a9b76f1a85f72762bbba (diff) | |
download | scheduler-helper-php-698e8857350447eda51109186ae6732a68e0f13a.zip scheduler-helper-php-698e8857350447eda51109186ae6732a68e0f13a.tar.gz scheduler-helper-php-698e8857350447eda51109186ae6732a68e0f13a.tar.bz2 |
Add helper update test.
Diffstat (limited to 'tests')
-rw-r--r-- | tests/Data_saveDataUpdate/DayRecurrings/source.json | 44 | ||||
-rw-r--r-- | tests/Data_saveDataUpdate/DayRecurrings/target.json | 20 | ||||
-rw-r--r-- | tests/SchedulerHelperTest.php | 51 | ||||
-rw-r--r-- | tests/TestBaseHelper.php | 2 |
4 files changed, 115 insertions, 2 deletions
diff --git a/tests/Data_saveDataUpdate/DayRecurrings/source.json b/tests/Data_saveDataUpdate/DayRecurrings/source.json new file mode 100644 index 0000000..7cb1ca4 --- /dev/null +++ b/tests/Data_saveDataUpdate/DayRecurrings/source.json @@ -0,0 +1,44 @@ +{ + "insert_data": [ + { + "id": "1", + "start_date": "2015-02-04 11:00:00", + "end_date": "2015-02-04 19:30:00", + "text": "Event X1", + "rec_type": "", + "event_length": "" + }, + { + "id": "2", + "start_date": "2020-07-09 11:00:00", + "end_date": "2020-07-09 19:20:00", + "text": "Event X2", + "rec_type": "day_1___#3", + "event_length": "600" + } + ], + "data": [ + { + "id": 1, + "recurring_type": { + "each": "day", + "step": 1, + "repeat": 10 + }, + "start_date": "2016-03-08 10:15:00", + "length": 600, + "text": "Test Event 1" + }, + { + "id": 2, + "recurring_type": { + "each": "day", + "step": 1, + "repeat": 5 + }, + "start_date": "2016-03-08 10:15:00", + "length": 300, + "text": "Test Event 2" + } + ] +}
\ No newline at end of file diff --git a/tests/Data_saveDataUpdate/DayRecurrings/target.json b/tests/Data_saveDataUpdate/DayRecurrings/target.json new file mode 100644 index 0000000..815d400 --- /dev/null +++ b/tests/Data_saveDataUpdate/DayRecurrings/target.json @@ -0,0 +1,20 @@ +{ + "data": [ + { + "id": 1, + "rec_type": "day_1___#10", + "start_date": "2016-03-08 10:15:00", + "end_date": "2016-03-18 10:25:00", + "event_length": 600, + "text": "Test Event 1" + }, + { + "id": 2, + "rec_type": "day_1___#5", + "start_date": "2016-03-08 10:15:00", + "end_date": "2016-03-13 10:20:00", + "event_length": 300, + "text": "Test Event 2" + } + ] +}
\ No newline at end of file diff --git a/tests/SchedulerHelperTest.php b/tests/SchedulerHelperTest.php index 558c38e..9ee80e9 100644 --- a/tests/SchedulerHelperTest.php +++ b/tests/SchedulerHelperTest.php @@ -117,7 +117,56 @@ class SchedulerHelperTest extends \PHPUnit_Framework_TestCase $dataFromBase = $this->_baseHelper->getDataFromBase(); - $dataHelp->writeObjectToFile($dataFromBase, "_insertDataFromBase.txt", $dataPacks[$i]); + $dataHelp->writeObjectToFile($dataFromBase, "_dataFromBase.txt", $dataPacks[$i]); + $this->assertTrue($dataHelp->compareDataBunches($target["data"], $dataFromBase, TestConfig::$fields), + "Helper and Scheduler data has difference"); + } + } + + $this->_logger->logEnd($testName); + } + + public function testSaveData_Update(){ + $testName = "saveDataUpdate"; + $this->_logger->logStart($testName); + $schedHelper = new Helper( + array( + "dbsm" => TestConfig::DBSM, + "host" => TestConfig::HOST, + "db_name" => TestConfig::DB_NAME, + "user" => TestConfig::USER, + "password" => TestConfig::PASSWORD, + "table_name" => TestConfig::TEMP_TABLE_NAME + ) + ); + $schedHelper->setFieldsNames(array( + $schedHelper::FLD_ID => "id", + )); + + $dataHelp = new TestDataHelper($testName); + $dataPacks = $dataHelp->getTestDataList(); + if($dataPacks) { + for ($i = 0; $i < count($dataPacks); $i++) { + $this->_logger->logStep($testName); + $this->_logger->info("$dataPacks[$i] bunch processing...."); + $source = $dataHelp->getTestSourceData($dataPacks[$i]); + $target = $dataHelp->getTestTargetData($dataPacks[$i]); + + + if(!$source || !$target){ + $this->_logger->warning("There is no data. Bunch is skipped"); + continue; + } + + $this->_baseHelper->resetTable(); + + $this->_baseHelper->insertDataFromJSON($source["insert_data"]); + $sourceData = $dataHelp->prepateDataForHelper($source["data"], $schedHelper); + $dataHelp->saveDataWithHelper($sourceData, $schedHelper); + + $dataFromBase = $this->_baseHelper->getDataFromBase(); + + $dataHelp->writeObjectToFile($dataFromBase, "_dataFromBase.txt", $dataPacks[$i]); $this->assertTrue($dataHelp->compareDataBunches($target["data"], $dataFromBase, TestConfig::$fields), "Helper and Scheduler data has difference"); } diff --git a/tests/TestBaseHelper.php b/tests/TestBaseHelper.php index 10898f4..99801cb 100644 --- a/tests/TestBaseHelper.php +++ b/tests/TestBaseHelper.php @@ -84,7 +84,7 @@ class TestBaseHelper $event = $data[$i]; $elNumb = 1; foreach($f as $name=>$type) { - $sql .= isset($event[$name]) && !is_null($event[$name]) ? "'".$event[$name]."'":"''"; + $sql .= isset($event[$name]) && !is_null($event[$name]) ? "'".$event[$name]."'":"NULL"; if ($elNumb++ != $fieldsCount) $sql .= ","; |