summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--tests/Data_saveDataUpdate/DayRecurrings/source.json44
-rw-r--r--tests/Data_saveDataUpdate/DayRecurrings/target.json20
-rw-r--r--tests/SchedulerHelperTest.php51
-rw-r--r--tests/TestBaseHelper.php2
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 .= ",";