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); }