/** * Check method getFinancialAccount() */ public function testGetFinancialAccount() { list($financialAccount, $financialType, $financialAccountType) = $this->createFinancialAccount('Asset'); $params = array('financial_account_id' => $financialAccount->id, 'payment_processor_type_id' => 1, 'domain_id' => 1, 'billing_mode' => 1, 'name' => 'paymentProcessor'); $processor = CRM_Financial_BAO_PaymentProcessor::create($params); $account = CRM_Financial_BAO_FinancialTypeAccount::getFinancialAccount($processor->id, 'civicrm_payment_processor'); $this->assertEquals($account, $financialAccount->name, 'Verify Financial Account Name'); }
public function testCreditCardCSSName() { $params = array('name' => 'API_Test_PP_Type', 'title' => 'API Test Payment Processor Type', 'class_name' => 'CRM_Core_Payment_APITest', 'billing_mode' => 'form', 'payment_processor_type_id' => 1, 'is_recur' => 0, 'domain_id' => 1, 'accepted_credit_cards' => json_encode(array('Visa' => 'Visa', 'Mastercard' => 'Mastercard', 'Amex' => 'Amex'))); $paymentProcessor = CRM_Financial_BAO_PaymentProcessor::create($params); $cards = CRM_Financial_BAO_PaymentProcessor::getCreditCards($paymentProcessor->id); $CSSCards = CRM_Core_Payment_Form::getCreditCardCSSNames($cards); $expectedCSSCards = array('visa' => 'Visa', 'mastercard' => 'Mastercard', 'amex' => 'Amex'); $this->assertEquals($CSSCards, $expectedCSSCards, 'Verify correct credit card types are returned'); $CSSCards2 = CRM_Core_Payment_Form::getCreditCardCSSNames(array()); $allCards = array('visa' => 'Visa', 'mastercard' => 'MasterCard', 'amex' => 'Amex', 'discover' => 'Discover'); $this->assertEquals($CSSCards2, $allCards, 'Verify correct credit card types are returned'); }
/** * Function tests that additional financial records are created for online contribution with pending option. */ public function testCreateContributionPendingOnline() { $paymentProcessor = CRM_Financial_BAO_PaymentProcessor::create($this->_processorParams); $contributionPage = $this->callAPISuccess('contribution_page', 'create', $this->_pageParams); $this->assertAPISuccess($contributionPage); $params = array('contact_id' => $this->_individualId, 'receive_date' => '20120511', 'total_amount' => 100.0, 'financial_type_id' => 1, 'contribution_page_id' => $contributionPage['id'], 'trxn_id' => 12345, 'invoice_id' => 67890, 'source' => 'SSF', 'contribution_status_id' => 2); $contribution = $this->callAPIAndDocument('contribution', 'create', $params, __FUNCTION__, __FILE__); $this->assertEquals($contribution['values'][$contribution['id']]['contact_id'], $this->_individualId); $this->assertEquals($contribution['values'][$contribution['id']]['total_amount'], 100.0); $this->assertEquals($contribution['values'][$contribution['id']]['financial_type_id'], 1); $this->assertEquals($contribution['values'][$contribution['id']]['trxn_id'], 12345); $this->assertEquals($contribution['values'][$contribution['id']]['invoice_id'], 67890); $this->assertEquals($contribution['values'][$contribution['id']]['source'], 'SSF'); $this->assertEquals($contribution['values'][$contribution['id']]['contribution_status_id'], 2); $this->_checkFinancialRecords($contribution, 'pending'); }
/** * check method getFinancialAccount() */ function testGetFinancialAccount() { $params = array('name' => 'TestFinancialAccount', 'accounting_code' => 4800, 'is_deductible' => 0, 'is_active' => 1, 'is_reserved' => 0); $ids = array(); $financialAccount = CRM_Financial_BAO_FinancialAccount::add($params, $ids); $params = array('financial_account_id' => $financialAccount->id, 'payment_processor_type_id' => 1, 'domain_id' => 1, 'billing_mode' => 1, 'name' => 'paymentProcessor'); $processor = CRM_Financial_BAO_PaymentProcessor::create($params); $account = CRM_Financial_BAO_FinancialTypeAccount::getFinancialAccount($processor->id, 'civicrm_payment_processor'); $this->assertEquals($account, 'TestFinancialAccount', 'Verify Financial Account Name'); }
/** * Install an extension and create a payment processor which uses it. * Attempts to uninstall fail */ public function testInstall_Add_FailUninstall() { $manager = $this->system->getManager(); $this->assertDBQuery(0, 'SELECT count(*) FROM civicrm_payment_processor_type WHERE class_name = "test.extension.manager.paymenttest"'); $manager->install(array('test.extension.manager.paymenttest')); $this->assertEquals(1, test_extension_manager_paymenttest::$counts['install']); $this->assertDBQuery(1, 'SELECT count(*) FROM civicrm_payment_processor_type WHERE class_name = "test.extension.manager.paymenttest" AND is_active = 1'); $payment_processor_type_id = CRM_Core_DAO::singleValueQuery('SELECT id FROM civicrm_payment_processor_type WHERE class_name = "test.extension.manager.paymenttest"'); $ppDAO = CRM_Financial_BAO_PaymentProcessor::create(array('payment_processor_type_id' => $payment_processor_type_id, 'domain_id' => CRM_Core_Config::domainID())); $manager->disable(array('test.extension.manager.paymenttest')); $this->assertEquals(1, test_extension_manager_paymenttest::$counts['disable']); $this->assertDBQuery(1, 'SELECT count(*) FROM civicrm_payment_processor_type WHERE class_name = "test.extension.manager.paymenttest"'); $this->assertDBQuery(1, 'SELECT count(*) FROM civicrm_payment_processor_type WHERE class_name = "test.extension.manager.paymenttest" AND is_active = 0'); // first attempt to uninstall -- fail try { $manager->uninstall(array('test.extension.manager.paymenttest')); $this->fail('Failed to catch expected exception'); } catch (CRM_Extension_Exception_DependencyException $e) { } $this->assertEquals(0, test_extension_manager_paymenttest::getCount('uninstall')); $this->assertDBQuery(1, 'SELECT count(*) FROM civicrm_payment_processor_type WHERE class_name = "test.extension.manager.paymenttest"'); $ppDAO->delete(); // second attempt to uninstall -- ok $manager->uninstall(array('test.extension.manager.paymenttest')); $this->assertEquals(1, test_extension_manager_paymenttest::getCount('uninstall')); $this->assertDBQuery(0, 'SELECT count(*) FROM civicrm_payment_processor_type WHERE class_name = "test.extension.manager.paymenttest"'); }
/** * Create Payment Processor. * * @return CRM_Financial_DAO_PaymentProcessor * instance of Payment Processsor */ public function processorCreate() { $processorParams = array('domain_id' => 1, 'name' => 'Dummy', 'payment_processor_type_id' => 10, 'financial_account_id' => 12, 'is_test' => TRUE, 'is_active' => 1, 'user_name' => '', 'url_site' => 'http://dummy.com', 'url_recur' => 'http://dummy.com', 'billing_mode' => 1); $paymentProcessor = CRM_Financial_BAO_PaymentProcessor::create($processorParams); return $paymentProcessor; }