public function testUpdatesResource()
 {
     $resourceId = 122;
     $request = ResourceRequest::Example();
     $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('ValidateUpdateRequest')->with($this->equalTo($resourceId), $this->equalTo($request))->will($this->returnValue(array()));
     $this->repository->expects($this->once())->method('Update')->with($this->equalTo($expectedUpdateResource));
     $response = $this->controller->Update($resourceId, $request, $this->session);
     $this->assertTrue($response->WasSuccessful());
     $this->assertEquals($resourceId, $response->ResourceId());
     $this->assertEmpty($response->Errors());
 }
Esempio n. 2
0
 /**
  * @param ResourceRequest $request
  * @param int $resourceId
  * @return BookableResource
  */
 private function BuildResource($request, $resourceId)
 {
     $resource = 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);
     $resource->SetSortOrder($request->sortOrder);
     $attributes = array();
     foreach ($request->GetCustomAttributes() as $attribute) {
         $attributes[] = new AttributeValue($attribute->attributeId, $attribute->attributeValue);
     }
     $resource->ChangeAttributes($attributes);
     if (isset($request->statusId)) {
         $resource->ChangeStatus($request->statusId, $request->statusReasonId);
     }
     return $resource;
 }