/** * Run schedules * * @return void */ public function runSchedules() { $this->model->updateAllTypeStatus(); $schedules = $this->model->getExpiredAndEnabledSchedules(); foreach ($schedules as $schedule) { $event = new CronEvent($this->model); $event->setSchedule($schedule); $this->dispatcher->dispatch('cron_event.' . $schedule->getEvent(), $event); } }
/** * Test get all unexpired schedules */ public function testGetExpiredAndEnabledSchedules() { $scheduleDocument = $this->getMockObject('Litvinab\\Bundle\\CronEventBundle\\Document\\Schedule'); $repository = $this->getMockObject('Litvinab\\Bundle\\CronEventBundle\\Repository\\ScheduleRepository', ['getExpiredAndEnabledSchedules']); $this->setMockMethodsReturnValue($repository, ['getExpiredAndEnabledSchedules'], [$scheduleDocument]); $model = new ScheduleModel($repository); $result = $model->getExpiredAndEnabledSchedules(); $this->assertCount(1, $result); $this->assertContains($scheduleDocument, $result); }