<?php require_once '../application/configs/conf.php'; /* * All dates in the xml files are hard coded and in the year 2044 * It would have been nice to use 'PHPUnit/Extensions/Database/DataSet/ReplacementDataSet.php' * to be able to use variables in the xml dataset files so dates can be relative. This proved * not practical for Airtime; For repeating shows, the start times are always varying and would * require functions that calculate the start and end dates, and the next populate date. The * tests would be performing the same work as the application and require tests themselves. */ /** * @internal * * @coversNothing */ class ShowServiceDbTest extends Zend_Test_PHPUnit_DatabaseTestCase { private $_connectionMock; // private $_nowDT; public function setUp() { TestHelper::installTestDatabase(); TestHelper::setupZendBootstrap(); // $this->_nowDT = new DateTime("now", new DateTimeZone("UTC")); parent::setUp(); } public function getConnection() { if ($this->_connectionMock == null) { $config = TestHelper::getDbZendConfig(); $connection = Zend_Db::factory('pdo_pgsql', $config); $this->_connectionMock = $this->createZendDbConnection( $connection, 'airtimeunittests' ); Zend_Db_Table_Abstract::setDefaultAdapter($connection); } return $this->_connectionMock; } /* Defines how the initial state of the database should look before each test is executed * Called once during setUp() and gets recreated for each new test */ public function getDataSet() { return new PHPUnit_Extensions_Database_DataSet_YamlDataSet( __DIR__ . '/datasets/seed_show_service.yml' ); } public function testCcShowInsertedIntoDatabase() { $showService = new Application_Service_ShowService(); $data = [ 'add_show_id' => -1, 'add_show_name' => 'test show', 'add_show_description' => null, 'add_show_url' => null, 'add_show_genre' => null, 'add_show_color' => 'ffffff', 'add_show_background_color' => '364492', 'cb_airtime_auth' => false, 'cb_custom_auth' => false, 'custom_username' => null, 'custom_password' => null, 'add_show_linked' => false, 'add_show_has_autoplaylist' => 0, 'add_show_autoplaylist_id' => null, 'add_show_autoplaylist_repeat' => 0, ]; $showService->setCcShow($data); $ds = new Zend_Test_PHPUnit_Db_DataSet_QueryDataSet( $this->getConnection() ); $ds->addTable('cc_show', 'select * from cc_show'); $this->assertDataSetsEqual( new PHPUnit_Extensions_Database_DataSet_YamlDataSet(__DIR__ . '/datasets/test_ccShowInsertedIntoDatabase.yml'), $ds ); } /* Tests that a non-repeating, non-record, and non-rebroadcast show * gets created properly */ public function testCreateNoRepeatNoRRShow() { TestHelper::loginUser(); $data = ShowServiceData::getNoRepeatNoRRData(); $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( new PHPUnit_Extensions_Database_DataSet_YamlDataSet(__DIR__ . '/datasets/test_createNoRepeatNoRRShow.yml'), $ds ); } /* Tests that a weekly repeating, non-record, non-rebroadcast show * with no end date gets created correctly */ public function testCreateWeeklyRepeatNoEndNoRRShow() { TestHelper::loginUser(); $data = ShowServiceData::getWeeklyRepeatNoEndNoRRData(); $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( new PHPUnit_Extensions_Database_DataSet_YamlDataSet(__DIR__ . '/datasets/test_createWeeklyRepeatNoEndNoRRShow.yml'), $ds ); } public function testCreateBiWeeklyRepeatNoEndNoRRShow() { TestHelper::loginUser(); $data = ShowServiceData::getWeeklyRepeatNoEndNoRRData(); $data['add_show_repeat_type'] = '1'; $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( new PHPUnit_Extensions_Database_DataSet_YamlDataSet(__DIR__ . '/datasets/test_createBiWeeklyRepeatNoEndNoRRShow.yml'), $ds ); } public function testCreateTriWeeklyRepeatNoEndNoRRShow() { TestHelper::loginUser(); $data = ShowServiceData::getWeeklyRepeatNoEndNoRRData(); $data['add_show_repeat_type'] = '4'; $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( new PHPUnit_Extensions_Database_DataSet_YamlDataSet(__DIR__ . '/datasets/test_createTriWeeklyRepeatNoEndNoRRShow.yml'), $ds ); } public function testCreateQuadWeeklyRepeatNoEndNoRRShow() { TestHelper::loginUser(); $data = ShowServiceData::getWeeklyRepeatNoEndNoRRData(); $data['add_show_repeat_type'] = '5'; $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( new PHPUnit_Extensions_Database_DataSet_YamlDataSet(__DIR__ . '/datasets/test_createQuadWeeklyRepeatNoEndNoRRShow.yml'), $ds ); } public function testCreateMonthlyMonthlyRepeatNoEndNoRRShow() { TestHelper::loginUser(); $data = ShowServiceData::getWeeklyRepeatNoEndNoRRData(); $data['add_show_repeat_type'] = '2'; $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( new PHPUnit_Extensions_Database_DataSet_YamlDataSet(__DIR__ . '/datasets/test_createMonthlyMonthlyRepeatNoEndNoRRShow.yml'), $ds ); } public function testCreateMonthlyWeeklyRepeatNoEndNoRRShow() { TestHelper::loginUser(); $data = ShowServiceData::getWeeklyRepeatNoEndNoRRData(); $data['add_show_repeat_type'] = '3'; $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( new PHPUnit_Extensions_Database_DataSet_YamlDataSet(__DIR__ . '/datasets/test_createMonthlyWeeklyRepeatNoEndNoRRShow.yml'), $ds ); } // Tests that a show instance gets deleted from it's repeating sequence properly public function testDeleteShowInstance() { TestHelper::loginUser(); $data = ShowServiceData::getWeeklyRepeatNoEndNoRRData(); $service_show = new Application_Service_ShowService(null, $data); $service_show->addUpdateShow($data); $service_show->deleteShow(3, true); $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 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( new PHPUnit_Extensions_Database_DataSet_YamlDataSet(__DIR__ . '/datasets/test_deleteShowInstance.yml'), $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 = ShowServiceData::getWeeklyRepeatNoEndNoRRData(); $data['add_show_day_check'] = [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, 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( new PHPUnit_Extensions_Database_DataSet_YamlDataSet(__DIR__ . '/datasets/test_deleteShowInstanceAndAllFollowing.yml'), $ds ); } public function testEditRepeatingShowInstance() { TestHelper::loginUser(); $data = ShowServiceData::getWeeklyRepeatNoEndNoRRData(); $showService = new Application_Service_ShowService(null, $data); $showService->addUpdateShow($data); // move the start date forward one week and the start time forward one hour $editData = ShowServiceData::getEditRepeatInstanceData(); // need to create a new service so it gets constructed with the new data $showService = new Application_Service_ShowService(null, $editData); $showService->editRepeatingShowInstance($editData); $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 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( new PHPUnit_Extensions_Database_DataSet_YamlDataSet(__DIR__ . '/datasets/test_editRepeatingShowInstance.yml'), $ds ); } /* Tests the entire show gets deleted when the user selects 'Delete this * instance and all following' from the context menu on the calendar */ public function testDeleteRepeatingShow() { TestHelper::loginUser(); $data = ShowServiceData::getWeeklyRepeatNoEndNoRRData(); $showService = new Application_Service_ShowService(null, $data); $showService->addUpdateShow($data); $showService->deleteShow(1); $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 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( new PHPUnit_Extensions_Database_DataSet_YamlDataSet(__DIR__ . '/datasets/test_deleteRepeatingShow.yml'), $ds ); } public function testRepeatShowCreationWhenUserMovesForwardInCalendar() { TestHelper::loginUser(); $data = ShowServiceData::getWeeklyRepeatNoEndNoRRData(); $data['add_show_repeat_type'] = '1'; $showService = new Application_Service_ShowService(null, $data); $showService->addUpdateShow($data); // simulate the user moves forward in the calendar $end = new DateTime('2044-03-12', new DateTimeZone('UTC')); $showService->delegateInstanceCreation(null, $end, true); $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( new PHPUnit_Extensions_Database_DataSet_YamlDataSet(__DIR__ . '/datasets/test_repeatShowCreationWhenUserMovesForwardInCalendar.yml'), $ds ); } public function testLinkedShow() { TestHelper::loginUser(); /** Test creating a linked show */ $data = ShowServiceData::getWeeklyRepeatNoEndNoRRData(); $data['add_show_linked'] = 1; $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( new PHPUnit_Extensions_Database_DataSet_YamlDataSet(__DIR__ . '/datasets/test_createLinkedShow.yml'), $ds ); } /** 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); $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( new PHPUnit_Extensions_Database_DataSet_YamlDataSet(__DIR__ . '/datasets/test_createNoRepeatRRShow.yml'), $ds ); } /** Test the creation of a weekly repeating, record and rebroadcast(RR) show */ public function testEditRepeatingShowChangeNoEndOption() { TestHelper::loginUser(); /** Test changing the no end option on a weekly repeating show */ $data = ShowServiceData::getWeeklyRepeatNoEndNoRRData(); $showService = new Application_Service_ShowService(null, $data); $showService->addUpdateShow($data); $data['add_show_end_date'] = '2044-01-09'; $data['add_show_no_end'] = 0; $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'); $this->assertDataSetsEqual( new PHPUnit_Extensions_Database_DataSet_YamlDataSet(__DIR__ . '/datasets/test_editRepeatingShowChangeNoEndOption.yml'), $ds ); } /** * Tests that when you remove the first repeat show day, which changes * the show's first instance start date, updates the scheduled content * correctly. */ public function testRemoveFirstRepeatShowDayUpdatesScheduleCorrectly() { TestHelper::loginUser(); $data = ShowServiceData::getWeeklyRepeatNoEndNoRRData(); $data['add_show_start_date'] = '2044-01-29'; $data['add_show_day_check'] = [5, 6]; $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 = [ 0 => [ 'id' => 0, 'instance' => 1, 'timestamp' => time(), ], ]; $mediaItems = [ 0 => [ 'id' => 1, 'type' => 'audioclip', ], ]; $scheduler = new Application_Model_Scheduler(); $scheduler->scheduleAfter($scheduleItems, $mediaItems); // delete the first repeat day $data['add_show_day_check'] = [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( new PHPUnit_Extensions_Database_DataSet_YamlDataSet(__DIR__ . '/datasets/test_removeFirstRepeatShowDayUpdatesScheduleCorrectly.yml'), $ds ); } public function testChangeRepeatDayUpdatesScheduleCorrectly() { TestHelper::loginUser(); $data = ShowServiceData::getWeeklyRepeatNoEndNoRRData(); $data['add_show_start_date'] = '2044-01-29'; $data['add_show_day_check'] = [5, 6]; $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 = [ 0 => [ 'id' => 0, 'instance' => 1, 'timestamp' => time(), ], ]; $mediaItems = [ 0 => [ 'id' => 1, 'type' => 'audioclip', ], ]; $scheduler = new Application_Model_Scheduler(); $scheduler->scheduleAfter($scheduleItems, $mediaItems); // delete the first repeat day $data['add_show_day_check'] = [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( new PHPUnit_Extensions_Database_DataSet_YamlDataSet(__DIR__ . '/datasets/test_changeRepeatDayUpdatesScheduleCorrectly.yml'), $ds ); } public function testChangeRepeatTypeFromWeeklyToNoRepeat() { TestHelper::loginUser(); // test change repeat type from weekly to no-repeat $data = ShowServiceData::getWeeklyRepeatNoEndNoRRData(); $showService = new Application_Service_ShowService(null, $data); $showService->addUpdateShow($data); $data['add_show_repeats'] = 0; $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'); $this->assertDataSetsEqual( new PHPUnit_Extensions_Database_DataSet_YamlDataSet(__DIR__ . '/datasets/test_weeklyToNoRepeat.yml'), $ds ); } public function testChangeRepeatTypeFromWeeklyToBiWeekly() { TestHelper::loginUser(); // test change repeat type weekly to bi-weekly $data = ShowServiceData::getWeeklyRepeatNoEndNoRRData(); $showService = new Application_Service_ShowService(null, $data); $showService->addUpdateShow($data); $data['add_show_id'] = 1; $data['add_show_repeat_type'] = 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'); $this->assertDataSetsEqual( new PHPUnit_Extensions_Database_DataSet_YamlDataSet(__DIR__ . '/datasets/test_weeklyToBiWeekly.yml'), $ds ); } }