Beispiel #1
0
 public function testWhenHourlyLimitIsExceededInYear()
 {
     $duration = new QuotaDurationYear();
     $limit = new QuotaLimitHours(1.5);
     $startDate = Date::Parse('2011-04-03 0:30', $this->schedule->GetTimezone());
     $endDate = Date::Parse('2011-04-03 1:30', $this->schedule->GetTimezone());
     $series = $this->GetHourLongReservation($startDate, $endDate);
     $quota = new Quota(1, $duration, $limit, $series->ResourceId());
     $res1 = new ReservationItemView('ref1', $startDate->SetTimeString('00:00'), $endDate->SetTimeString('00:31'), '', $series->ResourceId(), 98712);
     $res1->ScheduleId = $series->ScheduleId();
     $reservations = array($res1);
     $this->SearchReturns($reservations);
     $exceeds = $quota->ExceedsQuota($series, $this->user, $this->schedule, $this->reservationViewRepository);
     $this->assertTrue($exceeds);
 }
 public function testWhenDeletingAnInstanceItDoesNotCount()
 {
     $ref1 = 'ref1';
     $ref2 = 'ref2';
     $ref3 = 'ref3';
     $duration = new QuotaDurationDay();
     $limit = new QuotaLimitCount(1);
     $quota = new Quota(1, $duration, $limit);
     $r1start = Date::Parse('2011-04-03 1:30', $this->tz);
     $r1End = Date::Parse('2011-04-03 2:30', $this->tz);
     $r2start = Date::Parse('2011-04-04 1:30', $this->tz);
     $r2End = Date::Parse('2011-04-04 2:30', $this->tz);
     $existing1 = new TestReservation($ref1, new DateRange($r1start, $r1End), 1);
     $deleted = new TestReservation($ref2, new DateRange($r2start, $r2End), 2);
     $new = new TestReservation($ref3, new DateRange($r2start, $r2End), 3);
     $builder = new ExistingReservationSeriesBuilder();
     $builder->WithCurrentInstance($existing1)->WithInstance($deleted)->WithInstance($new);
     $series = $builder->BuildTestVersion();
     $series->RemoveInstance($deleted);
     $res1 = new ReservationItemView($ref1, $r1start, $r1End, '', $series->ResourceId(), $existing1->ReservationId());
     $res2 = new ReservationItemView($ref2, $r1start, $r1End, '', $series->ResourceId(), $deleted->ReservationId());
     $res3 = new ReservationItemView($ref3, $r2start, $r2End, '', $series->ResourceId(), $new->ReservationId());
     $reservations = array($res1, $res2, $res3);
     $this->SearchReturns($reservations);
     $exceeds = $quota->ExceedsQuota($series, $this->user, $this->schedule, $this->reservationViewRepository);
     $this->assertFalse($exceeds);
 }