CC-5715: Write database test to check the schedule start times after editing a repeating show and changing the repeat day

This commit is contained in:
drigato 2014-02-27 13:08:41 -05:00
parent 4cb785a062
commit 1715f2187d
2 changed files with 199 additions and 5 deletions

View File

@ -568,15 +568,15 @@ class ShowServiceDbTest extends Zend_Test_PHPUnit_DatabaseTestCase
$scheduleItems = array(
0 => array(
"id" => 0,
"instance" => 1,
"timestamp" => time()
"id" => 0,
"instance" => 1,
"timestamp" => time()
)
);
$mediaItems = array(
0 => array(
"id" => 1,
"type" => "audioclip"
"id" => 1,
"type" => "audioclip"
)
);
$scheduler = new Application_Model_Scheduler();
@ -604,4 +604,61 @@ class ShowServiceDbTest extends Zend_Test_PHPUnit_DatabaseTestCase
$ds
);
}
public function testChangeRepeatDayUpdatesScheduleCorrectly()
{
TestHelper::loginUser();
$data = ShowServiceData::getWeeklyRepeatNoEndNoRRData();
$data["add_show_start_date"] = "2016-01-29";
$data["add_show_day_check"] = array(5);
$data["add_show_linked"] = 1;
$showService = new Application_Service_ShowService(null, $data);
$showService->addUpdateShow($data);
//insert some fake tracks into cc_schedule table
$ccFiles = new CcFiles();
$ccFiles
->setDbCueIn("00:00:00")
->setDbCueOut("00:04:32")
->save();
$scheduleItems = array(
0 => array(
"id" => 0,
"instance" => 1,
"timestamp" => time()
)
);
$mediaItems = array(
0 => array(
"id" => 1,
"type" => "audioclip"
)
);
$scheduler = new Application_Model_Scheduler();
$scheduler->scheduleAfter($scheduleItems, $mediaItems);
//delete the first repeat day
$data["add_show_day_check"] = array(6);
$data["add_show_id"] = 1;
$showService = new Application_Service_ShowService(null, $data, true);
$showService->addUpdateShow($data);
$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');
$ds->addTable('cc_show_instances', 'select id, starts, ends, show_id, record, rebroadcast, instance_id, modified_instance from cc_show_instances');
$ds->addTable('cc_show_rebroadcast', 'select * from cc_show_rebroadcast');
$ds->addTable('cc_show_hosts', 'select * from cc_show_hosts');
$ds->addTable('cc_schedule', 'select id, starts, ends, file_id, clip_length, fade_in, fade_out, cue_in, cue_out, instance_id, playout_status from cc_schedule');
$this->assertDataSetsEqual(
$this->createXmlDataSet(dirname(__FILE__)."/datasets/test_changeRepeatDayUpdatesScheduleCorrectly.xml"),
$ds
);
}
}

View File

@ -0,0 +1,137 @@
<?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>1</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>2</value>
<value>2016-01-30</value>
<null />
<value>00:00:00</value>
<value>UTC</value>
<value>01:00</value>
<value>6</value>
<value>0</value>
<value>2016-02-13</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>modified_instance</column>
<row>
<value>3</value>
<value>2016-01-30 00:00:00</value>
<value>2016-01-30 01:00:00</value>
<value>1</value>
<value>0</value>
<value>0</value>
<null />
<value></value>
</row>
<row>
<value>4</value>
<value>2016-02-06 00:00:00</value>
<value>2016-02-06 01:00:00</value>
<value>1</value>
<value>0</value>
<value>0</value>
<null />
<value></value>
</row>
</table>
<table name="cc_show_rebroadcast">
</table>
<table name="cc_show_hosts">
</table>
<table name="cc_schedule">
<column>id</column>
<column>starts</column>
<column>ends</column>
<column>file_id</column>
<column>clip_length</column>
<column>fade_in</column>
<column>fade_out</column>
<column>cue_in</column>
<column>cue_out</column>
<column>instance_id</column>
<column>playout_status</column>
<row>
<value>3</value>
<value>2016-01-30 00:00:00</value>
<value>2016-01-30 00:04:32</value>
<value>1</value>
<value>00:04:32</value>
<value>00:00:00.5</value>
<value>00:00:00.5</value>
<value>00:00:00</value>
<value>00:04:32</value>
<value>3</value>
<value>1</value>
</row>
<row>
<value>4</value>
<value>2016-02-06 00:00:00</value>
<value>2016-02-06 00:04:32</value>
<value>1</value>
<value>00:04:32</value>
<value>00:00:00.5</value>
<value>00:00:00.5</value>
<value>00:00:00</value>
<value>00:04:32</value>
<value>4</value>
<value>1</value>
</row>
</table>
</dataset>