/**
  * @depends testGetContactState
  */
 public function testListContactStates()
 {
     $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');
     $contactStates = ContactsUtil::getContactStateDataFromStartingStateLabelByLanguage(Yii::app()->language);
     $compareData = array();
     foreach ($contactStates as $contactState) {
         $compareData[] = $this->getModelToApiDataUtilData($contactState);
     }
     $response = $this->createApiCallWithRelativeUrl('listContactStates/', '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']);
 }
 /**
  * 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);
     }
 }