Esempio n. 1
0
 public function Create($request, $session)
 {
     $errors = $this->validator->ValidateCreateRequest($request);
     if (!empty($errors)) {
         return new ResourceControllerResult(null, $errors);
     }
     $newResource = BookableResource::CreateNew($request->name, $request->scheduleId, $request->autoAssignPermissions, $request->sortOrder);
     $resourceId = $this->repository->Add($newResource);
     $resource = $this->BuildResource($request, $resourceId);
     $this->repository->Update($resource);
     return new ResourceControllerResult($resourceId, null);
 }
 public function testAddsNewResource()
 {
     $resourceId = 122;
     $request = ResourceRequest::Example();
     $expectedCreateResource = BookableResource::CreateNew($request->name, $request->scheduleId, $request->autoAssignPermissions, $request->sortOrder);
     $expectedUpdateResource = new BookableResource($resourceId, $request->name, $request->location, $request->contact, $request->notes, $request->minLength, $request->maxLength, $request->autoAssignPermissions, $request->requiresApproval, $request->allowMultiday, $request->maxParticipants, $request->minNotice, $request->maxNotice, $request->description, $request->scheduleId);
     $expectedUpdateResource->SetSortOrder($request->sortOrder);
     $expectedUpdateResource->ChangeStatus($request->statusId, $request->statusReasonId);
     $attributes = array(new AttributeValue($request->customAttributes[0]->attributeId, $request->customAttributes[0]->attributeValue));
     $expectedUpdateResource->ChangeAttributes($attributes);
     $this->validator->expects($this->once())->method('ValidateCreateRequest')->with($this->equalTo($request))->will($this->returnValue(array()));
     $this->repository->expects($this->once())->method('Add')->with($this->equalTo($expectedCreateResource))->will($this->returnValue($resourceId));
     $this->repository->expects($this->once())->method('Update')->with($this->equalTo($expectedUpdateResource));
     $response = $this->controller->Create($request, $this->session);
     $this->assertTrue($response->WasSuccessful());
     $this->assertEquals($resourceId, $response->ResourceId());
     $this->assertEmpty($response->Errors());
 }
Esempio n. 3
0
$resources = array();
$db = ServiceLocator::GetDatabase();
// USERS
$db->Execute(new AdHocCommand("delete from users where fname ='load' and lname = 'test'"));
$userRepo = new UserRepository();
for ($i = 0; $i < $numberOfUsers; $i++) {
    $user = User::Create("load{$i}", "test{$i}", "email {$i}", "username {$i}", "en_us", "America/Chicago", "7b6aec38ff9b7650d64d0374194307bdde711425", "3b3dbb9b");
    $userId = $userRepo->Add($user);
    $users[] = $user;
}
echo "Loaded {$numberOfUsers} users<br/>";
// RESOURCES
$db->Execute(new AdHocCommand("delete from resources where name like 'load%'"));
$resourceRepo = new ResourceRepository();
for ($i = 0; $i < $numberOfResources; $i++) {
    $resource = BookableResource::CreateNew("load{$i}", 1);
    $resourceId = $resourceRepo->Add($resource);
    $resources[] = $resource;
}
echo "Loaded {$numberOfResources} resources<br/>";
// ACCESSORIES
$db->Execute(new AdHocCommand("delete from accessories where accessory_name like 'load%'"));
$accessoryRepo = new AccessoryRepository();
for ($i = 0; $i < $numberOfAccessories; $i++) {
    $accessory = new Accessory(0, "Load {$i}", 10);
    $id = $accessoryRepo->Add($accessory);
}
echo "Loaded {$numberOfAccessories} accessories<br/>";
// RESERVATIONS
$db->Execute(new AdHocCommand("delete from reservation_series where title like 'load%'"));
$scheduleRepo = new ScheduleRepository();
 public function Add()
 {
     $name = $this->page->GetResourceName();
     $scheduleId = $this->page->GetScheduleId();
     $autoAssign = $this->page->GetAutoAssign();
     $resourceAdminGroupId = $this->page->GetAdminGroupId();
     Log::Debug("Adding new resource with name: %s, scheduleId: %s, autoAssign: %s, resourceAdminGroupId %s", $name, $scheduleId, $autoAssign, $resourceAdminGroupId);
     $resource = BookableResource::CreateNew($name, $scheduleId, $autoAssign);
     $resource->SetAdminGroupId($resourceAdminGroupId);
     $this->resourceRepository->Add($resource);
 }
 public function testDeletingAResourceRemovesAllAssociatedData()
 {
     $resourceId = 100;
     $resource = BookableResource::CreateNew('name', 1);
     $resource->SetResourceId($resourceId);
     $this->repository->Delete($resource);
     $deleteReservations = new DeleteResourceReservationsCommand($resourceId);
     $deleteResources = new DeleteResourceCommand($resourceId);
     $actualDeleteReservations = $this->db->_Commands[0];
     $actualDeleteResources = $this->db->_Commands[1];
     $this->assertEquals($deleteReservations, $actualDeleteReservations);
     $this->assertEquals($deleteResources, $actualDeleteResources);
 }