public function testUsesFirstAdditionalResourceIfPrimaryIsRemoved()
 {
     $referenceNumber = $this->page->existingReferenceNumber;
     $builder = new ExistingReservationSeriesBuilder();
     $builder->WithPrimaryResource(new FakeBookableResource(100));
     $expectedSeries = $builder->Build();
     $additionalId = 5;
     $this->page->resourceId = null;
     $this->page->resourceIds = array($additionalId);
     $resource = new FakeBookableResource($additionalId);
     $this->persistenceService->expects($this->once())->method('LoadByReferenceNumber')->with($this->equalTo($referenceNumber))->will($this->returnValue($expectedSeries));
     $this->resourceRepository->expects($this->once())->method('LoadById')->with($this->equalTo($additionalId))->will($this->returnValue($resource));
     $existingSeries = $this->presenter->BuildReservation();
     $this->assertEquals($resource, $existingSeries->Resource());
 }
 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);
 }
Exemple #3
0
Booked Scheduler is distributed in the hope that it will be useful,
but WITHOUT ANY WARRANTY; without even the implied warranty of
MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
GNU General Public License for more details.

You should have received a copy of the GNU General Public License
along with Booked Scheduler.  If not, see <http://www.gnu.org/licenses/>.
*/
define('ROOT_DIR', dirname(__FILE__) . '/../');
require_once ROOT_DIR . "lib/Email/namespace.php";
require_once ROOT_DIR . "lib/Email/Messages/ReservationCreatedEmail.php";
require_once ROOT_DIR . "lib/Email/Messages/ReservationUpdatedEmail.php";
require_once ROOT_DIR . "Domain/namespace.php";
require_once ROOT_DIR . "tests/fakes/namespace.php";
$start = Date::Parse('2010-10-05 03:30:00', 'UTC');
$end = Date::Parse('2010-10-06 13:30:00', 'UTC');
$resourceRepo = new ResourceRepository();
$resources = $resourceRepo->GetResourceList();
$builder = new ExistingReservationSeriesBuilder();
$builder->WithPrimaryResource($resources[1]);
$reservation = $builder->Build();
//$reservation->WithCurrentInstance(new TestReservation("ref", new TestDateRange()));
//$reservation->Update(1, new FakeBookableResource(1, 'name'), 'crazy title', 'super description', new FakeUserSession());
//$reservation->UpdateDuration(new DateRange($start, $end));
$reservation->Repeats(new RepeatDayOfMonth(1, $end->AddDays(100), new DateRange($start, $end)));
$user = new FakeUser();
//$user->SetLanguage('en_gb');
$email = new ReservationUpdatedEmail($user, $reservation, 'en_us', new AttributeRepository());
echo $email->Body();
//$emailService = new EmailService();
//$emailService->Send($email);
 public function testWhenApplyingSimpleUpdatesToFullSeriesAndThereIsNoStartTimeConstraint()
 {
     $this->fakeConfig->SetSectionKey(ConfigSection::RESERVATION, ConfigKeys::RESERVATION_START_TIME_CONSTRAINT, ReservationStartTimeConstraint::NONE);
     $timezone = 'UTC';
     $currentResource = new FakeBookableResource(8);
     $newResource = new FakeBookableResource(10);
     $dateRange = DateRange::Create('2010-01-01 00:00', '2010-01-01 5:00', $timezone);
     Date::_SetNow(Date::Parse('2010-01-05 2:00', $timezone));
     $builder = new ExistingReservationSeriesBuilder();
     $builder->WithPrimaryResource($currentResource);
     $builder->WithCurrentInstance(new TestReservation('1', $dateRange));
     $series = $builder->Build();
     $series->ApplyChangesTo(SeriesUpdateScope::FullSeries);
     $series->Update($series->UserId(), $newResource, 'new', 'new', new FakeUserSession());
     $this->assertEquals($newResource, $series->Resource());
     $this->assertEquals(1, count($series->Instances()));
 }