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