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