CC-5651: Unit Test the Scheduler

Added test for deleting repeating show instances
This commit is contained in:
drigato 2014-01-14 14:16:37 -05:00
parent a658dbf27c
commit 0b4ae6b94d
7 changed files with 382 additions and 4 deletions

View File

@ -1408,7 +1408,6 @@ SQL;
*/
public function setCcShow($showData)
{
Logging::info($showData);
if (!$this->isUpdate) {
$ccShow = new CcShow();
} else {

View File

@ -185,4 +185,38 @@ class ShowTest extends Zend_Test_PHPUnit_DatabaseTestCase
$ds
);
}
/* Tests that when a user selects 'Delete this instance and all following
* on the calendar the database gets updated correctly
*/
public function testDeleteShowInstanceAndAllFollowing()
{
TestHelper::loginUser();
$data = ShowData::getWeeklyRepeatNoEndNoRRData();
$data["add_show_day_check"] = array(5,1,2);
$service_show = new Application_Service_ShowService(null, $data);
$service_show->addUpdateShow($data);
//delete some single instances first
$service_show->deleteShow(1, true);
$service_show->deleteShow(6, true);
$service_show->deleteShow(8, true);
//delete all instances including and after where id=4
$service_show->deleteShow(4);
$ds = new Zend_Test_PHPUnit_Db_DataSet_QueryDataSet(
$this->getConnection()
);
$ds->addTable('cc_show', 'select * from cc_show');
$ds->addTable('cc_show_days', 'select * from cc_show_days order by first_show');
$ds->addTable('cc_show_instances', 'select id, starts, ends, show_id, record, rebroadcast, instance_id, file_id, time_filled, last_scheduled, modified_instance from cc_show_instances order by id');
$ds->addTable('cc_show_rebroadcast', 'select * from cc_show_rebroadcast');
$ds->addTable('cc_show_hosts', 'select * from cc_show_hosts');
$this->assertDataSetsEqual(
$this->createXmlDataSet(dirname(__FILE__)."/files/test_deleteShowInstanceAndAllFollowing.xml"),
$ds
);
}
}

View File

@ -9,7 +9,7 @@
<value>1</value>
<null />
<value>shows_populated_until</value>
<value>2016-02-01 05:00:00</value>
<value>2016-02-07 00:00:00</value>
</row>
</table>
</dataset>

View File

@ -52,7 +52,7 @@
<value>01:00</value>
<value>5</value>
<value>0</value>
<value>2016-02-05</value>
<value>2016-02-12</value>
<value>1</value>
<value>0</value>
</row>
@ -135,6 +135,19 @@
<null />
<value></value>
</row>
<row>
<value>6</value>
<value>2016-02-05 00:00:00</value>
<value>2016-02-05 01:00:00</value>
<value>1</value>
<value>0</value>
<value>0</value>
<null />
<null />
<value>00:00:00</value>
<null />
<value></value>
</row>
</table>
<table name="cc_show_rebroadcast">

View File

@ -0,0 +1,314 @@
<?xml version="1.0" ?>
<dataset>
<table name="cc_show">
<column>id</column>
<column>name</column>
<column>url</column>
<column>genre</column>
<column>description</column>
<column>color</column>
<column>background_color</column>
<column>live_stream_using_airtime_auth</column>
<column>live_stream_using_custom_auth</column>
<column>live_stream_user</column>
<column>live_stream_pass</column>
<column>linked</column>
<column>is_linkable</column>
<row>
<value>1</value>
<value>test show</value>
<null />
<null />
<null />
<value>ffffff</value>
<value>364492</value>
<value></value>
<value></value>
<null />
<null />
<value></value>
<value>1</value>
</row>
</table>
<table name="cc_show_days">
<column>id</column>
<column>first_show</column>
<column>last_show</column>
<column>start_time</column>
<column>timezone</column>
<column>duration</column>
<column>day</column>
<column>repeat_type</column>
<column>next_pop_date</column>
<column>show_id</column>
<column>record</column>
<row>
<value>1</value>
<value>2016-01-01</value>
<value>2016-01-16</value>
<value>00:00:00</value>
<value>UTC</value>
<value>01:00</value>
<value>5</value>
<value>0</value>
<value>2016-02-12</value>
<value>1</value>
<value>0</value>
</row>
<row>
<value>2</value>
<value>2016-01-04</value>
<value>2016-01-19</value>
<value>00:00:00</value>
<value>UTC</value>
<value>01:00</value>
<value>1</value>
<value>0</value>
<value>2016-02-08</value>
<value>1</value>
<value>0</value>
</row>
<row>
<value>3</value>
<value>2016-01-05</value>
<value>2016-01-20</value>
<value>00:00:00</value>
<value>UTC</value>
<value>01:00</value>
<value>2</value>
<value>0</value>
<value>2016-02-09</value>
<value>1</value>
<value>0</value>
</row>
</table>
<table name="cc_show_instances">
<column>id</column>
<column>starts</column>
<column>ends</column>
<column>show_id</column>
<column>record</column>
<column>rebroadcast</column>
<column>instance_id</column>
<column>file_id</column>
<column>time_filled</column>
<column>last_scheduled</column>
<column>modified_instance</column>
<row>
<value>1</value>
<value>2016-01-01 00:00:00</value>
<value>2016-01-01 01:00:00</value>
<value>1</value>
<value>0</value>
<value>0</value>
<null />
<null />
<value>00:00:00</value>
<null />
<value>1</value>
</row>
<row>
<value>2</value>
<value>2016-01-08 00:00:00</value>
<value>2016-01-08 01:00:00</value>
<value>1</value>
<value>0</value>
<value>0</value>
<null />
<null />
<value>00:00:00</value>
<null />
<value></value>
</row>
<row>
<value>3</value>
<value>2016-01-15 00:00:00</value>
<value>2016-01-15 01:00:00</value>
<value>1</value>
<value>0</value>
<value>0</value>
<null />
<null />
<value>00:00:00</value>
<null />
<value></value>
</row>
<row>
<value>4</value>
<value>2016-01-22 00:00:00</value>
<value>2016-01-22 01:00:00</value>
<value>1</value>
<value>0</value>
<value>0</value>
<null />
<null />
<value>00:00:00</value>
<null />
<value>1</value>
</row>
<row>
<value>5</value>
<value>2016-01-29 00:00:00</value>
<value>2016-01-29 01:00:00</value>
<value>1</value>
<value>0</value>
<value>0</value>
<null />
<null />
<value>00:00:00</value>
<null />
<value>1</value>
</row>
<row>
<value>6</value>
<value>2016-02-05 00:00:00</value>
<value>2016-02-05 01:00:00</value>
<value>1</value>
<value>0</value>
<value>0</value>
<null />
<null />
<value>00:00:00</value>
<null />
<value>1</value>
</row>
<row>
<value>7</value>
<value>2016-01-04 00:00:00</value>
<value>2016-01-04 01:00:00</value>
<value>1</value>
<value>0</value>
<value>0</value>
<null />
<null />
<value>00:00:00</value>
<null />
<value></value>
</row>
<row>
<value>8</value>
<value>2016-01-11 00:00:00</value>
<value>2016-01-11 01:00:00</value>
<value>1</value>
<value>0</value>
<value>0</value>
<null />
<null />
<value>00:00:00</value>
<null />
<value>1</value>
</row>
<row>
<value>9</value>
<value>2016-01-18 00:00:00</value>
<value>2016-01-18 01:00:00</value>
<value>1</value>
<value>0</value>
<value>0</value>
<null />
<null />
<value>00:00:00</value>
<null />
<value></value>
</row>
<row>
<value>10</value>
<value>2016-01-25 00:00:00</value>
<value>2016-01-25 01:00:00</value>
<value>1</value>
<value>0</value>
<value>0</value>
<null />
<null />
<value>00:00:00</value>
<null />
<value>1</value>
</row>
<row>
<value>11</value>
<value>2016-02-01 00:00:00</value>
<value>2016-02-01 01:00:00</value>
<value>1</value>
<value>0</value>
<value>0</value>
<null />
<null />
<value>00:00:00</value>
<null />
<value>1</value>
</row>
<row>
<value>12</value>
<value>2016-01-05 00:00:00</value>
<value>2016-01-05 01:00:00</value>
<value>1</value>
<value>0</value>
<value>0</value>
<null />
<null />
<value>00:00:00</value>
<null />
<value></value>
</row>
<row>
<value>13</value>
<value>2016-01-12 00:00:00</value>
<value>2016-01-12 01:00:00</value>
<value>1</value>
<value>0</value>
<value>0</value>
<null />
<null />
<value>00:00:00</value>
<null />
<value></value>
</row>
<row>
<value>14</value>
<value>2016-01-19 00:00:00</value>
<value>2016-01-19 01:00:00</value>
<value>1</value>
<value>0</value>
<value>0</value>
<null />
<null />
<value>00:00:00</value>
<null />
<value></value>
</row>
<row>
<value>15</value>
<value>2016-01-26 00:00:00</value>
<value>2016-01-26 01:00:00</value>
<value>1</value>
<value>0</value>
<value>0</value>
<null />
<null />
<value>00:00:00</value>
<null />
<value>1</value>
</row>
<row>
<value>16</value>
<value>2016-02-02 00:00:00</value>
<value>2016-02-02 01:00:00</value>
<value>1</value>
<value>0</value>
<value>0</value>
<null />
<null />
<value>00:00:00</value>
<null />
<value>1</value>
</row>
</table>
<table name="cc_show_rebroadcast">
</table>
<table name="cc_show_hosts">
</table>
</dataset>

View File

@ -52,7 +52,7 @@
<value>01:00</value>
<value>5</value>
<value>0</value>
<value>2016-02-05</value>
<value>2016-02-12</value>
<value>1</value>
<value>0</value>
</row>
@ -135,6 +135,19 @@
<null />
<value></value>
</row>
<row>
<value>6</value>
<value>2016-02-05 00:00:00</value>
<value>2016-02-05 01:00:00</value>
<value>1</value>
<value>0</value>
<value>0</value>
<null />
<null />
<value>00:00:00</value>
<null />
<value></value>
</row>
</table>
<table name="cc_show_rebroadcast">

View File

@ -150,4 +150,9 @@ Class ShowData
"add_show_day_check" => array(5)
);
}
public static function getWeeklyRepeatDays()
{
return array(1,2,3,4,5);
}
}