public function testDeletesReservation()
 {
     $id = 123;
     $reservationView = new TestReservationItemView($id, Date::Now(), Date::Now());
     $repo = $this->getMock('IReservationRepository');
     $handler = new ReservationConflictDelete($repo);
     $builder = new ExistingReservationSeriesBuilder();
     $builder->WithId($id);
     $reservation = $builder->Build();
     $repo->expects($this->once())->method('LoadById')->with($this->equalTo($id))->will($this->returnValue($reservation));
     $repo->expects($this->once())->method('Delete')->with($this->equalTo($reservation));
     $handled = $handler->Handle($reservationView);
     $this->assertTrue($handled);
     $this->assertEquals(SeriesUpdateScope::ThisInstance, $reservation->SeriesUpdateScope());
 }
 public function testRemovesReminders()
 {
     $seriesId = 99;
     $builder = new ExistingReservationSeriesBuilder();
     $series = $builder->WithId($seriesId)->Build();
     $series->WithStartReminder(new ReservationReminder(100, ReservationReminderInterval::Days));
     $series->WithEndReminder(new ReservationReminder(15, ReservationReminderInterval::Minutes));
     $series->RemoveStartReminder();
     $series->RemoveEndReminder();
     $this->repository->Update($series);
     $command1 = new RemoveReservationReminderCommand($seriesId, ReservationReminderType::Start);
     $command2 = new RemoveReservationReminderCommand($seriesId, ReservationReminderType::End);
     $this->assertTrue($this->db->ContainsCommand($command1));
     $this->assertTrue($this->db->ContainsCommand($command2));
 }
 public function testShowsErrorFileDoesNotBelongToReservation()
 {
     $fileId = 110;
     $resourceId = 1909;
     $referenceNumber = 'rn';
     $seriesId = 1;
     $fileSeriesId = 2;
     $builder = new ExistingReservationSeriesBuilder();
     $builder->WithId($seriesId);
     $builder->WithPrimaryResource(new FakeBookableResource($resourceId));
     $reservationSeries = $builder->Build();
     $reservationAttachment = new FakeReservationAttachment($fileId);
     $reservationAttachment->SetSeriesId($fileSeriesId);
     $this->page->expects($this->once())->method('GetFileId')->will($this->returnValue($fileId));
     $this->page->expects($this->once())->method('GetReferenceNumber')->will($this->returnValue($referenceNumber));
     $this->reservationRepository->expects($this->once())->method('LoadReservationAttachment')->with($this->equalTo($fileId))->will($this->returnValue($reservationAttachment));
     $this->reservationRepository->expects($this->once())->method('LoadByReferenceNumber')->with($this->equalTo($referenceNumber))->will($this->returnValue($reservationSeries));
     $this->page->expects($this->once())->method('ShowError');
     $this->presenter->PageLoad($this->fakeUser);
 }