diff --git a/airtime_mvc/tests/application/services/database/ShowServiceDbTest.php b/airtime_mvc/tests/application/services/database/ShowServiceDbTest.php index ef82a1ae1..82b96920f 100644 --- a/airtime_mvc/tests/application/services/database/ShowServiceDbTest.php +++ b/airtime_mvc/tests/application/services/database/ShowServiceDbTest.php @@ -464,11 +464,11 @@ class ShowServiceDbTest extends Zend_Test_PHPUnit_DatabaseTestCase ); } - /** Test the creation of a single record and rebroadcast show **/ + /** Test the creation of a single record and rebroadcast(RR) show **/ public function testCreateNoRepeatRRShow() { TestHelper::loginUser(); - + $data = ShowServiceData::getNoRepeatRRData(); $showService = new Application_Service_ShowService(null, $data); $showService->addUpdateShow($data); @@ -487,4 +487,28 @@ class ShowServiceDbTest extends Zend_Test_PHPUnit_DatabaseTestCase $ds ); } + + /** Test the creation of a weekly repeating, record and rebroadcast(RR) show **/ + public function testCreateWeeklyRepeatRRShow() + { + TestHelper::loginUser(); + + $data = ShowServiceData::getWeeklyRepeatRRData(); + $showService = new Application_Service_ShowService(null, $data); + $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'); + + $this->assertDataSetsEqual( + $this->createXmlDataSet(dirname(__FILE__)."/datasets/test_createWeeklyRepeatRRShow.xml"), + $ds + ); + } } diff --git a/airtime_mvc/tests/application/services/database/datasets/test_createWeeklyRepeatRRShow.xml b/airtime_mvc/tests/application/services/database/datasets/test_createWeeklyRepeatRRShow.xml new file mode 100644 index 000000000..b29bb7388 --- /dev/null +++ b/airtime_mvc/tests/application/services/database/datasets/test_createWeeklyRepeatRRShow.xml @@ -0,0 +1,273 @@ + + + + id + name + url + genre + description + color + background_color + live_stream_using_airtime_auth + live_stream_using_custom_auth + live_stream_user + live_stream_pass + linked + is_linkable + + 1 + test show + + + + ffffff + 364492 + + + + + + 1 + +
+ + + id + first_show + last_show + start_time + timezone + duration + day + repeat_type + next_pop_date + show_id + record + + 1 + 2016-01-01 + + 00:00:00 + UTC + 01:00 + 5 + 0 + 2016-02-12 + 1 + 1 + +
+ + + id + starts + ends + show_id + record + rebroadcast + instance_id + modified_instance + + 1 + 2016-01-01 00:00:00 + 2016-01-01 01:00:00 + 1 + 1 + 0 + + + + + 2 + 2016-01-02 00:00:00 + 2016-01-02 01:00:00 + 1 + 0 + 1 + 1 + + + + 3 + 2016-01-03 12:00:00 + 2016-01-03 13:00:00 + 1 + 0 + 1 + 1 + + + + 4 + 2016-01-08 00:00:00 + 2016-01-08 01:00:00 + 1 + 1 + 0 + + + + + 5 + 2016-01-09 00:00:00 + 2016-01-09 01:00:00 + 1 + 0 + 1 + 4 + + + + 6 + 2016-01-10 12:00:00 + 2016-01-10 13:00:00 + 1 + 0 + 1 + 4 + + + + 7 + 2016-01-15 00:00:00 + 2016-01-15 01:00:00 + 1 + 1 + 0 + + + + + 8 + 2016-01-16 00:00:00 + 2016-01-16 01:00:00 + 1 + 0 + 1 + 7 + + + + 9 + 2016-01-17 12:00:00 + 2016-01-17 13:00:00 + 1 + 0 + 1 + 7 + + + + 10 + 2016-01-22 00:00:00 + 2016-01-22 01:00:00 + 1 + 1 + 0 + + + + + 11 + 2016-01-23 00:00:00 + 2016-01-23 01:00:00 + 1 + 0 + 1 + 10 + + + + 12 + 2016-01-24 12:00:00 + 2016-01-24 13:00:00 + 1 + 0 + 1 + 10 + + + + 13 + 2016-01-29 00:00:00 + 2016-01-29 01:00:00 + 1 + 1 + 0 + + + + + 14 + 2016-01-30 00:00:00 + 2016-01-30 01:00:00 + 1 + 0 + 1 + 13 + + + + 15 + 2016-01-31 12:00:00 + 2016-01-31 13:00:00 + 1 + 0 + 1 + 13 + + + + 16 + 2016-02-05 00:00:00 + 2016-02-05 01:00:00 + 1 + 1 + 0 + + + + + 17 + 2016-02-06 00:00:00 + 2016-02-06 01:00:00 + 1 + 0 + 1 + 16 + + + + 18 + 2016-02-07 12:00:00 + 2016-02-07 13:00:00 + 1 + 0 + 1 + 16 + + +
+ + + id + day_offset + start_time + show_id + + 1 + 1 days + 00:00:00 + 1 + + + 2 + 2 days + 12:00:00 + 1 + +
+ + +
+
\ No newline at end of file diff --git a/airtime_mvc/tests/application/testdata/ShowServiceData.php b/airtime_mvc/tests/application/testdata/ShowServiceData.php index b6b067264..feb4e08c8 100644 --- a/airtime_mvc/tests/application/testdata/ShowServiceData.php +++ b/airtime_mvc/tests/application/testdata/ShowServiceData.php @@ -412,4 +412,79 @@ Class ShowServiceData "add_show_day_check" => null ); } + + public static function getWeeklyRepeatRRData() + { + return array( + "add_show_id" => -1, + "add_show_instance_id" => -1, + "add_show_name" => "test show", + "add_show_url" => null, + "add_show_genre" => null, + "add_show_description" => null, + "add_show_start_date" => "2016-01-01", + "add_show_start_time" => "00:00", + "add_show_end_date_no_repeat" => "2016-01-01", + "add_show_end_time" => "01:00", + "add_show_duration" => "01h 00m", + "add_show_timezone" => "UTC", + "add_show_repeats" => 1, + "add_show_linked" => 0, + "add_show_repeat_type" => 0, + "add_show_monthly_repeat_type" => 2, + "add_show_end_date" => "2016-01-01", + "add_show_no_end" => 1, + "cb_airtime_auth" => 0, + "cb_custom_auth" => 0, + "custom_username" => null, + "custom_password" => null, + "add_show_record" => 1, + "add_show_rebroadcast" => 1, + "add_show_rebroadcast_date_absolute_1" => null, + "add_show_rebroadcast_time_absolute_1" => null, + "add_show_rebroadcast_date_absolute_2" => null, + "add_show_rebroadcast_time_absolute_2" => null, + "add_show_rebroadcast_date_absolute_3" => null, + "add_show_rebroadcast_time_absolute_3" => null, + "add_show_rebroadcast_date_absolute_4" => null, + "add_show_rebroadcast_time_absolute_4" => null, + "add_show_rebroadcast_date_absolute_5" => null, + "add_show_rebroadcast_time_absolute_5" => null, + "add_show_rebroadcast_date_absolute_6" => null, + "add_show_rebroadcast_time_absolute_6" => null, + "add_show_rebroadcast_date_absolute_7" => null, + "add_show_rebroadcast_time_absolute_7" => null, + "add_show_rebroadcast_date_absolute_8" => null, + "add_show_rebroadcast_time_absolute_8" => null, + "add_show_rebroadcast_date_absolute_9" => null, + "add_show_rebroadcast_time_absolute_9" => null, + "add_show_rebroadcast_date_absolute_10" => null, + "add_show_rebroadcast_time_absolute_10" => null, + "add_show_rebroadcast_date_1" => "1 days", + "add_show_rebroadcast_time_1" => "00:00", + "add_show_rebroadcast_date_2" => "2 days", + "add_show_rebroadcast_time_2" => "12:00", + "add_show_rebroadcast_date_3" => null, + "add_show_rebroadcast_time_3" => null, + "add_show_rebroadcast_date_4" => null, + "add_show_rebroadcast_time_4" => null, + "add_show_rebroadcast_date_5" => null, + "add_show_rebroadcast_time_5" => null, + "add_show_rebroadcast_date_6" => null, + "add_show_rebroadcast_time_6" => null, + "add_show_rebroadcast_date_7" => null, + "add_show_rebroadcast_time_7" => null, + "add_show_rebroadcast_date_8" => null, + "add_show_rebroadcast_time_8" => null, + "add_show_rebroadcast_date_9" => null, + "add_show_rebroadcast_time_9" => null, + "add_show_rebroadcast_date_10" => null, + "add_show_rebroadcast_time_10" => null, + "add_show_hosts_autocomplete" => null, + "add_show_background_color" => "364492", + "add_show_color" => "ffffff", + "add_show_hosts" => null, + "add_show_day_check" => array(5) + ); + } } \ No newline at end of file