コード例 #1
0
 public function testChangesAttributeValues()
 {
     $builder = new ExistingReservationSeriesBuilder();
     $series = $builder->BuildTestVersion();
     $series->WithAttribute(new AttributeValue(1, '1abc'));
     $series->WithAttribute(new AttributeValue(2, '2abc'));
     $series->WithAttribute(new AttributeValue(3, '3abc'));
     $updatedAttributes = array(new AttributeValue(2, '22abc'), new AttributeValue(3, '3abc'), new AttributeValue(4, '4abc'));
     $series->ChangeAttributes($updatedAttributes);
     $seriesId = $series->SeriesId();
     $this->repository->Update($series);
     $addNewCommand = new AddAttributeValueCommand(4, '4abc', $seriesId, CustomAttributeCategory::RESERVATION);
     $removeOldCommand = new RemoveAttributeValueCommand(1, $seriesId);
     $removeUpdated = new RemoveAttributeValueCommand(2, $seriesId);
     $addUpdated = new AddAttributeValueCommand(2, '22abc', $seriesId, CustomAttributeCategory::RESERVATION);
     $this->assertTrue($this->db->ContainsCommand($addNewCommand));
     $this->assertTrue($this->db->ContainsCommand($removeOldCommand));
     $this->assertTrue($this->db->ContainsCommand($addUpdated));
     $this->assertTrue($this->db->ContainsCommand($removeUpdated));
 }
コード例 #2
0
 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);
 }