public function testCanGetAllSchedules()
 {
     $fakeSchedules = new FakeScheduleRepository();
     $rows = $fakeSchedules->GetRows();
     $this->db->SetRow(0, $rows);
     $expected = array();
     foreach ($rows as $item) {
         $schedule = new Schedule($item[ColumnNames::SCHEDULE_ID], $item[ColumnNames::SCHEDULE_NAME], $item[ColumnNames::SCHEDULE_DEFAULT], $item[ColumnNames::SCHEDULE_WEEKDAY_START], $item[ColumnNames::SCHEDULE_DAYS_VISIBLE], $item[ColumnNames::TIMEZONE_NAME]);
         $schedule->SetAdminGroupId($item[ColumnNames::SCHEDULE_ADMIN_GROUP_ID]);
         $expected[] = $schedule;
     }
     $actualSchedules = $this->scheduleRepository->GetAll();
     $this->assertEquals(new GetAllSchedulesCommand(), $this->db->_Commands[0]);
     $this->assertTrue($this->db->GetReader(0)->_FreeCalled);
     $this->assertEquals($expected, $actualSchedules);
 }
 public function GetAll()
 {
     $schedules = parent::GetAll();
     if ($this->user->IsAdmin) {
         return $schedules;
     }
     $user = $this->repo->LoadById($this->user->UserId);
     $filteredList = array();
     /** @var $schedule Schedule */
     foreach ($schedules as $schedule) {
         if ($user->IsScheduleAdminFor($schedule)) {
             $filteredList[] = $schedule;
         }
     }
     return $filteredList;
 }
 public function GetAll()
 {
     $schedules = parent::GetAll();
     return $this->Filter($schedules);
 }