/** 
  * @param Batchblue_Service_BatchBook_Deal $deal
  * @return Batchblue_Service_BatchBook_Deal
  */
 public function testAddPersonToToDo()
 {
     $person = new Batchblue_Service_BatchBook_Person();
     $person->setFirstName('TestFirstNameWithToDo')->setLastName('TestLastNameWithToDo')->setNotes('Downloaded my product and linking todo');
     $todo = new Batchblue_Service_BatchBook_ToDo();
     $todo->setTitle('Test ToDo Title with person')->setDescription('Test ToDo Description with contact attached')->setFlagged(false)->setDueDate(new DateTime('2013-12-13'));
     $this->_toDoService->postToDo($todo);
     $this->_personService->postPerson($person);
     $this->_toDoService->addPersonToToDo($todo, $person);
     $getTodo = $this->_toDoService->getToDo($todo->getId());
     $this->assertEquals($todo, $getTodo);
     return $todo;
 }
 public function addPersonToToDo(Batchblue_Service_BatchBook_ToDo $todo, Batchblue_Service_BatchBook_Person $person)
 {
     $httpClient = new Zend_Http_Client('https://' . $this->_accountName . '.batchbook.com/service/todos/' . $todo->getId() . '/add_related_contact.xml');
     $paramsPut = array('contact_id' => $person->getId());
     $httpClient->setAuth($this->_token, 'x');
     $httpClient->setHeaders(Zend_Http_Client::CONTENT_TYPE, Zend_Http_Client::ENC_URLENCODED);
     $httpClient->setRawData(http_build_query($paramsPut, '', '&'), Zend_Http_Client::ENC_URLENCODED);
     $response = $httpClient->request(Zend_Http_Client::PUT);
     if (200 != $response->getStatus()) {
         //TODO: throw more specific exception
         throw new Exception('Person not added to todo');
     }
     return $this;
 }