summaryrefslogtreecommitdiffstats
path: root/tests/SchedulerHelperTest.php
blob: b53a1206d8c3cdbbd277b6c0b11a7f9dfd57c5d3 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
<?php
require_once "Logger.php";
require_once "TestBaseHelper.php";
require_once "TestDataHelper.php";
require_once "TestConfig.php";
use DHTMLX_Scheduler\Helper;


class SchedulerHelperTest extends \PHPUnit_Framework_TestCase
{
    private $_baseHelper;
    private $_logger;

    public function __construct()
    {
        $this->_logger = new Logger();

        $this->_baseHelper = new TestBaseHelper(array(
            "dbsm" => TestConfig::DBSM,
            "host" => TestConfig::HOST,
            "db_name" => TestConfig::DB_NAME,
            "user" => TestConfig::USER,
            "password" => TestConfig::PASSWORD,
            "table_name" => TestConfig::TEMP_TABLE_NAME,
            "fields" => TestConfig::$fields
        ));
    }

    public function testGetData()
    {
        $testName = "getData";

        $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->{'data'});

                $helperData = $schedHelper->getData($source->settings->start_date, $source->settings->end_date);

                $this->assertTrue($dataHelp->compareDataBunches($helperData, $target->data, TestConfig::$fields),
                    "Helper and Scheduler data has difference");
            }
        }

        $this->_logger->logEnd($testName);
    }
}