/** 
  * @param Batchblue_Service_BatchBook_Deal $deal
  * @return Batchblue_Service_BatchBook_Deal
  */
 public function testAddPersonToDeal()
 {
     $person = new Batchblue_Service_BatchBook_Person();
     $person->setFirstName('TestFirstNameWithDeal')->setLastName('TestLastNameWithDeal')->setNotes('Downloaded my product');
     $deal = new Batchblue_Service_BatchBook_Deal();
     $deal->setTitle('Test Deal Title With Person')->setDescription('Test Deal Description With Person')->setStatus('pending');
     $this->_dealService->postDeal($deal);
     $this->_personService->postPerson($person);
     $this->_dealService->addPersonToDeal($deal, $person);
     $getDeal = $this->_dealService->getDeal($deal->getId());
     $this->assertEquals($deal, $getDeal);
     return $deal;
 }
 /**
     Note: REST API supports adding company to the deal too
 */
 public function addPersonToDeal(Batchblue_Service_BatchBook_Deal $deal, Batchblue_Service_BatchBook_Person $person)
 {
     $httpClient = new Zend_Http_Client('https://' . $this->_accountName . '.batchbook.com/service/deals/' . $deal->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 deal');
     }
     return $this;
 }