/** * Get states by type. * @param string $state * @throws ApiException */ protected function sendStatesByLeadOrContact($state = 'contact') { try { $states = array(); if ($state == 'contact') { $states = ContactsUtil::getContactStateDataFromStartingStateLabelByLanguage(Yii::app()->language); } elseif ($state == 'lead') { $states = LeadsUtil::getLeadStateDataFromStartingStateLabelByLanguage(Yii::app()->language); } foreach ($states as $model) { $data['items'][] = static::getModelToApiDataUtilData($model); } $data['totalCount'] = count($data['items']); $data['currentPage'] = 1; $result = new ApiResult(ApiResponse::STATUS_SUCCESS, $data, null, null); Yii::app()->apiHelper->sendResponse($result); } catch (Exception $e) { $message = $e->getMessage(); throw new ApiException($message); } }
/** * @depends testGetContactState */ public function testListLeadsStates() { $super = User::getByUsername('super'); Yii::app()->user->userModel = $super; $authenticationData = $this->login(); $headers = array('Accept: application/json', 'ZURMO_SESSION_ID: ' . $authenticationData['sessionId'], 'ZURMO_TOKEN: ' . $authenticationData['token'], 'ZURMO_API_REQUEST_TYPE: REST'); $leadStates = LeadsUtil::getLeadStateDataFromStartingStateLabelByLanguage(Yii::app()->language); $compareData = array(); foreach ($leadStates as $leadState) { $compareData[] = $this->getModelToApiDataUtilData($leadState); } $response = $this->createApiCallWithRelativeUrl('listLeadStates/', 'GET', $headers); $response = json_decode($response, true); $this->assertEquals(ApiResponse::STATUS_SUCCESS, $response['status']); $this->assertEquals(count($compareData), count($response['data']['items'])); $this->assertEquals(count($compareData), $response['data']['totalCount']); $this->assertEquals(1, $response['data']['currentPage']); $this->assertEquals($compareData, $response['data']['items']); }