public function testOnlyGetsSchedulesWhereUserIsAdmin()
 {
     $user = $this->getMock('User');
     $this->userRepository->expects($this->once())->method('LoadById')->with($this->equalTo($this->fakeUser->UserId))->will($this->returnValue($user));
     $ra = new FakeScheduleRepository();
     $this->db->SetRows($ra->GetRows());
     $user->expects($this->at(0))->method('IsScheduleAdminFor')->with($this->equalTo($ra->_AllRows[0]))->will($this->returnValue(false));
     $user->expects($this->at(1))->method('IsScheduleAdminFor')->with($this->equalTo($ra->_AllRows[1]))->will($this->returnValue(true));
     $schedules = $this->repo->GetAll();
     $this->assertTrue($this->db->ContainsCommand(new GetAllSchedulesCommand()));
     $this->assertEquals(1, count($schedules));
     $this->assertEquals(2, $schedules[0]->GetId());
 }
Exemplo n.º 2
0
 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);
 }