_entity = 'case'; parent::setUp(); $this->_cid = $this->individualCreate(); $this->_case = $this->callAPISuccess('case', 'create', array( 'case_type_id' => $this->caseTypeId, 'subject' => __CLASS__, 'contact_id' => $this->_cid, )); $this->_otherActivity = $this->callAPISuccess('Activity', 'create', array( 'source_contact_id' => $this->_cid, 'activity_type_id' => 'Phone Call', 'subject' => 'Ask not what your API can do for you, but what you can do for your API.', )); } public function testGet() { $this->assertTrue(is_numeric($this->_case['id'])); $this->assertTrue(is_numeric($this->_otherActivity['id'])); $getByCaseId = $this->callAPIAndDocument('Activity', 'get', array( 'case_id' => $this->_case['id'], ), __FUNCTION__, __FILE__); $this->assertNotEmpty($getByCaseId['values']); $getByCaseId_ids = array_keys($getByCaseId['values']); $getByCaseNotNull = $this->callAPIAndDocument('Activity', 'get', array( 'case_id' => array('IS NOT NULL' => 1), ), __FUNCTION__, __FILE__); $this->assertNotEmpty($getByCaseNotNull['values']); $getByCaseNotNull_ids = array_keys($getByCaseNotNull['values']); $getByCaseNull = $this->callAPIAndDocument('Activity', 'get', array( 'case_id' => array('IS NULL' => 1), ), __FUNCTION__, __FILE__); $this->assertNotEmpty($getByCaseNull['values']); $getByCaseNull_ids = array_keys($getByCaseNull['values']); $this->assertTrue(in_array($this->_otherActivity['id'], $getByCaseNull_ids)); $this->assertNotTrue(in_array($this->_otherActivity['id'], $getByCaseId_ids)); $this->assertEquals($getByCaseId_ids, $getByCaseNotNull_ids); $this->assertEquals(array(), array_intersect($getByCaseId_ids, $getByCaseNull_ids)); } public function testActivityGetWithCaseInfo() { $activities = $this->callAPISuccess('Activity', 'get', array( 'sequential' => 1, 'case_id' => $this->_case['id'], 'return' => array('case_id', 'case_id.subject'), )); $this->assertEquals(__CLASS__, $activities['values'][0]['case_id.subject']); // Note - case_id is always an array $this->assertEquals($this->_case['id'], $activities['values'][0]['case_id'][0]); } }