public function testCanUpdateResource() { $id = 8383; $name = "name"; $location = "location"; $contact = "contact"; $notes = "notes"; $minLength = 720; $maxLength = 727272; $autoAssign = 1; $requiresApproval = 0; $allowMultiday = 1; $maxParticipants = 100; $minNotice = 11111; $maxNotice = 22222; $description = "description"; $scheduleId = 19819; $imageName = 'something.png'; $adminGroupId = 232; $allowSubscription = true; $sortOrder = 3; $resourceTypeId = 111; $reasonId = 19; $bufferTime = 88881; $resource = new BookableResource($id, $name, $location, $contact, $notes, $minLength, $maxLength, $autoAssign, $requiresApproval, $allowMultiday, $maxParticipants, $minNotice, $maxNotice, $description, $scheduleId); $resource->SetImage($imageName); $resource->ChangeStatus(ResourceStatus::AVAILABLE, $reasonId); $resource->SetAdminGroupId($adminGroupId); $resource->EnableSubscription(); $resource->SetSortOrder($sortOrder); $resource->SetResourceTypeId($resourceTypeId); $resource->SetBufferTime($bufferTime); $publicId = $resource->GetPublicId(); $this->repository->Update($resource); $expectedUpdateResourceCommand = new UpdateResourceCommand($id, $name, $location, $contact, $notes, new TimeInterval($minLength), new TimeInterval($maxLength), $autoAssign, $requiresApproval, $allowMultiday, $maxParticipants, new TimeInterval($minNotice), new TimeInterval($maxNotice), $description, $imageName, $scheduleId, $adminGroupId, $allowSubscription, $publicId, $sortOrder, $resourceTypeId, ResourceStatus::AVAILABLE, $reasonId, new TimeInterval($bufferTime)); $actualUpdateResourceCommand = $this->db->_Commands[0]; $this->assertEquals($expectedUpdateResourceCommand, $actualUpdateResourceCommand); }