* Check method add()
*/
public function testAdd() {
- $params = array(
- 'name' => 'TestFinancialAccount_1',
- 'accounting_code' => 4800,
- 'contact_id' => 1,
- 'is_deductible' => 0,
- 'is_active' => 1,
- 'is_reserved' => 0,
- );
-
- $ids = array();
- $financialAccount = CRM_Financial_BAO_FinancialAccount::add($params, $ids);
- $params['name'] = 'test_financialType1';
- $financialType = CRM_Financial_BAO_FinancialType::add($params, $ids);
- $relationTypeId = key(CRM_Core_PseudoConstant::accountOptionValues('account_relationship', NULL, " AND v.name LIKE 'Income Account is' "));
- $financialParams = array(
- 'entity_table' => 'civicrm_financial_type',
- 'entity_id' => $financialType->id,
- 'account_relationship' => $relationTypeId,
- 'financial_account_id' => $financialAccount->id,
+ list($financialAccount, $financialType, $financialAccountType) = $this->createFinancialAccount(
+ 'Revenue',
+ 'Income Account is'
);
-
- CRM_Financial_BAO_FinancialTypeAccount::add($financialParams, $ids);
$result = $this->assertDBNotNull(
'CRM_Financial_DAO_EntityFinancialAccount',
$financialAccount->id,
* Check method del()
*/
public function testDel() {
- $params = array(
- 'name' => 'TestFinancialAccount_2',
- 'is_deductible' => 0,
- 'is_active' => 1,
- 'is_reserved' => 0,
+ list($financialAccount, $financialType, $financialAccountType) = $this->createFinancialAccount(
+ 'Expenses',
+ 'Expense Account is'
);
- $ids = array();
- $defaults = array();
- $financialAccount = CRM_Financial_BAO_FinancialAccount::add($params, $ids);
- $params['name'] = 'test_financialType2';
- $financialType = CRM_Financial_BAO_FinancialType::add($params, $ids);
- $relationTypeId = key(CRM_Core_PseudoConstant::accountOptionValues('account_relationship', NULL, " AND v.name LIKE 'Expense Account is' "));
- $financialParams = array(
- 'entity_table' => 'civicrm_financial_type',
- 'entity_id' => $financialType->id,
- 'account_relationship' => $relationTypeId,
- 'financial_account_id' => $financialAccount->id,
- );
- $financialAccountType = CRM_Financial_BAO_FinancialTypeAccount::add($financialParams, $ids);
CRM_Financial_BAO_FinancialTypeAccount::del($financialAccountType->id);
$params = array('id' => $financialAccountType->id);
$result = CRM_Financial_BAO_FinancialType::retrieve($params, $defaults);
* Check method getFinancialAccount()
*/
public function testRetrieve() {
- $params = array(
- 'name' => 'TestFinancialAccount_3',
- 'is_deductible' => 0,
- 'is_active' => 1,
- 'is_reserved' => 0,
+ list($financialAccount, $financialType, $financialAccountType) = $this->createFinancialAccount(
+ 'Asset',
+ 'Asset Account is'
);
- $ids = array();
- $financialAccount = CRM_Financial_BAO_FinancialAccount::add($params, $ids);
- $params['name'] = 'test_financialType3';
- $financialType = CRM_Financial_BAO_FinancialType::add($params, $ids);
$relationTypeId = key(CRM_Core_PseudoConstant::accountOptionValues('account_relationship', NULL, " AND v.name LIKE 'Asset Account is' "));
$financialParams = array(
'entity_table' => 'civicrm_financial_type',
'financial_account_id' => $financialAccount->id,
);
- CRM_Financial_BAO_FinancialTypeAccount::add($financialParams, $ids);
$defaults = array();
$financialAccountType = CRM_Financial_BAO_FinancialTypeAccount::retrieve($financialParams, $defaults);
$this->assertEquals($financialAccountType['entity_id'], $financialType->id, 'Verify Entity Id.');
* Check method getFinancialAccount()
*/
public function testGetFinancialAccount() {
- $params = array(
- 'name' => 'TestFinancialAccount',
- 'accounting_code' => 4800,
- 'is_deductible' => 0,
- 'is_active' => 1,
- 'is_reserved' => 0,
+ list($financialAccount, $financialType, $financialAccountType) = $this->createFinancialAccount(
+ 'Asset'
);
- $ids = array();
- $financialAccount = CRM_Financial_BAO_FinancialAccount::add($params, $ids);
$params = array(
'financial_account_id' => $financialAccount->id,
'payment_processor_type_id' => 1,
$processor->id,
'civicrm_payment_processor'
);
- $this->assertEquals($account, 'TestFinancialAccount', 'Verify Financial Account Name');
+ $this->assertEquals($account, $financialAccount->name, 'Verify Financial Account Name');
}
/**
*/
public function testGetInstrumentFinancialAccount() {
$paymentInstrumentValue = 1;
- $params = array(
- 'name' => 'Donations',
- 'is_deductible' => 0,
- 'is_active' => 1,
+ list($financialAccount, $financialType, $financialAccountType) = $this->createFinancialAccount(
+ 'Asset'
);
- $ids = array();
- $financialAccount = CRM_Financial_BAO_FinancialAccount::add($params, $ids);
$optionParams = array(
'name' => 'Credit Card',
'value' => $paymentInstrumentValue,
'financial_account_id' => $financialAccount->id,
);
- CRM_Financial_BAO_FinancialTypeAccount::add($financialParams, $ids);
+ CRM_Financial_BAO_FinancialTypeAccount::add($financialParams);
$financialAccountId = CRM_Financial_BAO_FinancialTypeAccount::getInstrumentFinancialAccount($paymentInstrumentValue);
$this->assertEquals($financialAccountId, $financialAccount->id, 'Verify Payment Instrument');
}
}
+ /**
+ * Function to create Financial Account.
+ *
+ * @param string $financialAccountType
+ *
+ * @param string $relationType
+ *
+ * @return array
+ * obj CRM_Financial_DAO_FinancialAccount, obj CRM_Financial_DAO_FinancialType, obj CRM_Financial_DAO_EntityFinancialAccount
+ */
+ public function createFinancialAccount($financialAccountType, $relationType = NULL) {
+ $params = array('labelColumn' => 'name');
+ $relationTypes = CRM_Core_PseudoConstant::get('CRM_Financial_DAO_EntityFinancialAccount', 'account_relationship', $params);
+ $financialAccountTypes = CRM_Core_PseudoConstant::get('CRM_Financial_DAO_FinancialAccount', 'financial_account_type_id', $params);
+ $params = array(
+ 'name' => 'TestFinancialAccount_' . rand(),
+ 'contact_id' => 1,
+ 'is_deductible' => 0,
+ 'is_active' => 1,
+ 'is_reserved' => 0,
+ 'financial_account_type_id' => array_search($financialAccountType, $financialAccountTypes),
+ );
+ $financialAccount = CRM_Financial_BAO_FinancialAccount::add($params);
+ $financialType = $financialAccountType = NULL;
+ if ($relationType) {
+ $params['name'] = 'test_financialType1';
+ $financialType = CRM_Financial_BAO_FinancialType::add($params);
+ $financialParams = array(
+ 'entity_table' => 'civicrm_financial_type',
+ 'entity_id' => $financialType->id,
+ 'account_relationship' => array_search($relationType, $relationTypes),
+ 'financial_account_id' => $financialAccount->id,
+ );
+ $financialAccountType = CRM_Financial_BAO_FinancialTypeAccount::add($financialParams);
+ }
+ return array($financialAccount, $financialType, $financialAccountType);
+ }
+
}