public function testGetSetAndDelete() { $account = AccountTestHelper::createAccountByNameForOwner('firstAccount', Yii::app()->user->userModel); $account2 = AccountTestHelper::createAccountByNameForOwner('secondAccount', Yii::app()->user->userModel); $this->assertEquals(0, count(AccountAccountAffiliation::getAll())); $accountAccountAffiliation = new AccountAccountAffiliation(); $accountAccountAffiliation->primaryAccount = $account; $accountAccountAffiliation->secondaryAccount = $account2; $this->assertTrue($accountAccountAffiliation->save()); $accountAccountAffiliationId = $accountAccountAffiliation->id; $accountAccountAffiliation->forget(); $accountAccountAffiliation = AccountAccountAffiliation::getById($accountAccountAffiliationId); $this->assertTrue($accountAccountAffiliation->primaryAccount->isSame($account)); $this->assertTrue($accountAccountAffiliation->secondaryAccount->isSame($account2)); $this->assertEquals(1, count(AccountAccountAffiliation::getAll())); $accountAccountAffiliation->delete(); $this->assertEquals(0, count(AccountAccountAffiliation::getAll())); }
public function testGetAffiliatedAccounts() { $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); $account4 = AccountTestHelper::createAccountByNameForOwner('forthAffAccount', Yii::app()->user->userModel); $accountAccountAffiliation = new AccountAccountAffiliation(); $accountAccountAffiliation->primaryAccount = $account; $accountAccountAffiliation->secondaryAccount = $account2; $this->assertTrue($accountAccountAffiliation->save()); sleep(1); $accountAccountAffiliation2 = new AccountAccountAffiliation(); $accountAccountAffiliation2->primaryAccount = $account3; $accountAccountAffiliation2->secondaryAccount = $account; $this->assertTrue($accountAccountAffiliation2->save()); sleep(1); $accountAccountAffiliation3 = new AccountAccountAffiliation(); $accountAccountAffiliation3->primaryAccount = $account3; $accountAccountAffiliation3->secondaryAccount = $account4; $this->assertTrue($accountAccountAffiliation3->save()); $data = array('search' => array('modelClassName' => 'AccountAccountAffiliation', 'searchAttributeData' => array('clauses' => array(1 => array('attributeName' => 'primaryAccount', 'relatedAttributeName' => 'id', 'operatorType' => 'equals', 'value' => $account->id), 2 => array('attributeName' => 'secondaryAccount', 'relatedAttributeName' => 'id', 'operatorType' => 'equals', 'value' => $account->id)), 'structure' => '(1 OR 2)')), '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]['primaryAccount']['id']); $this->assertEquals($account2->id, $response['data']['items'][0]['secondaryAccount']['id']); $this->assertEquals($account3->id, $response['data']['items'][1]['primaryAccount']['id']); $this->assertEquals($account->id, $response['data']['items'][1]['secondaryAccount']['id']); }