/** * @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; }