コード例 #1
0
 public function testGetByAccountAndContact()
 {
     $account = AccountTestHelper::createAccountByNameForOwner('secondAccount', Yii::app()->user->userModel);
     $contact = ContactTestHelper::createContactByNameForOwner('secondContact', Yii::app()->user->userModel);
     $this->assertEquals(0, count(AccountContactAffiliation::getAll()));
     $accountContactAffiliation = new AccountContactAffiliation();
     $accountContactAffiliation->account = $account;
     $accountContactAffiliation->contact = $contact;
     $this->assertTrue($accountContactAffiliation->save());
     $accountContactAffiliations = AccountContactAffiliation::getByAccountAndContact($account, $contact);
     $this->assertEquals(1, count($accountContactAffiliation));
     $this->assertTrue($accountContactAffiliation->isSame($accountContactAffiliations[0]));
 }
コード例 #2
0
 public function testGetAffiliatedAccountsAndContacts()
 {
     $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');
     $account = AccountTestHelper::createAccountByNameForOwner('firstAffAccount', Yii::app()->user->userModel);
     $account2 = AccountTestHelper::createAccountByNameForOwner('secondAffAccount', Yii::app()->user->userModel);
     $account3 = AccountTestHelper::createAccountByNameForOwner('thirdAffAccount', Yii::app()->user->userModel);
     $contact = ContactTestHelper::createContactByNameForOwner('firstAffContact', Yii::app()->user->userModel);
     $contact2 = ContactTestHelper::createContactByNameForOwner('secondAffContact', Yii::app()->user->userModel);
     $contact3 = ContactTestHelper::createContactByNameForOwner('thirdAffContact', Yii::app()->user->userModel);
     $accountContactAffiliation = new AccountContactAffiliation();
     $accountContactAffiliation->account = $account;
     $accountContactAffiliation->contact = $contact;
     $this->assertTrue($accountContactAffiliation->save());
     sleep(1);
     $accountContactAffiliation2 = new AccountContactAffiliation();
     $accountContactAffiliation2->account = $account;
     $accountContactAffiliation2->contact = $contact2;
     $this->assertTrue($accountContactAffiliation2->save());
     sleep(1);
     $accountContactAffiliation = new AccountContactAffiliation();
     $accountContactAffiliation->account = $account2;
     $accountContactAffiliation->contact = $contact2;
     $this->assertTrue($accountContactAffiliation->save());
     sleep(1);
     $accountContactAffiliation = new AccountContactAffiliation();
     $accountContactAffiliation->account = $account3;
     $accountContactAffiliation->contact = $contact3;
     $this->assertTrue($accountContactAffiliation->save());
     // Get all contacts affiliated with account
     $data = array('search' => array('modelClassName' => 'AccountContactAffiliation', 'searchAttributeData' => array('clauses' => array(1 => array('attributeName' => 'account', 'relatedAttributeName' => 'id', 'operatorType' => 'equals', 'value' => $account->id)), 'structure' => '1')), 'pagination' => array('page' => 1, 'pageSize' => 5), 'sort' => 'id asc');
     $response = $this->createApiCallWithRelativeUrl('search/filter/', 'POST', $headers, array('data' => $data));
     $response = json_decode($response, true);
     $this->assertEquals(ApiResponse::STATUS_SUCCESS, $response['status']);
     $this->assertEquals(2, $response['data']['totalCount']);
     $this->assertEquals(2, count($response['data']['items']));
     $this->assertEquals($account->id, $response['data']['items'][0]['account']['id']);
     $this->assertEquals($contact->id, $response['data']['items'][0]['contact']['id']);
     $this->assertEquals($account->id, $response['data']['items'][1]['account']['id']);
     $this->assertEquals($contact2->id, $response['data']['items'][1]['contact']['id']);
     // Get all accounts affiliated with account
     $data = array('search' => array('modelClassName' => 'AccountContactAffiliation', 'searchAttributeData' => array('clauses' => array(1 => array('attributeName' => 'contact', 'relatedAttributeName' => 'id', 'operatorType' => 'equals', 'value' => $contact2->id)), 'structure' => '1')), 'pagination' => array('page' => 1, 'pageSize' => 5), 'sort' => 'id asc');
     $response = $this->createApiCallWithRelativeUrl('search/filter/', 'POST', $headers, array('data' => $data));
     $response = json_decode($response, true);
     $this->assertEquals(ApiResponse::STATUS_SUCCESS, $response['status']);
     $this->assertEquals(2, $response['data']['totalCount']);
     $this->assertEquals(2, count($response['data']['items']));
     $this->assertEquals($account->id, $response['data']['items'][0]['account']['id']);
     $this->assertEquals($contact2->id, $response['data']['items'][0]['contact']['id']);
     $this->assertEquals($account2->id, $response['data']['items'][1]['account']['id']);
     $this->assertEquals($contact2->id, $response['data']['items'][1]['contact']['id']);
 }