Merge pull request #6896 from jake-mw/CRM-16669-master
authorEileen McNaughton <eileen@mcnaughty.com>
Sun, 11 Oct 2015 01:50:00 +0000 (14:50 +1300)
committerEileen McNaughton <eileen@mcnaughty.com>
Sun, 11 Oct 2015 01:50:00 +0000 (14:50 +1300)
CRM-16669 - ensure financialType is loaded for credit card and non-cr…

1  2 
CRM/Contribute/Form/Contribution.php
tests/phpunit/CRM/Contribute/Form/ContributionTest.php

Simple merge
index 0d219e8147915be257a53f597b418382edb39dda,8619a958a0da158fda0dcc6cb0c074c5554379f7..3c882cbf358ecca5ceea8e973440d999d9c82cc3
@@@ -290,9 -289,58 +290,59 @@@ class CRM_Contribute_Form_ContributionT
      $this->assertEquals(.08, $contribution['fee_amount']);
      $this->assertEquals(49.92, $contribution['net_amount']);
      $this->assertEquals('tx', $contribution['trxn_id']);
 +    $this->assertEmpty($contribution['amount_level']);
    }
  
+   /**
+    * Test a fully deductible contribution submitted by credit card (CRM-16669).
+    */
+   public function testSubmitCreditCardFullyDeductible() {
+     $form = new CRM_Contribute_Form_Contribution();
+     $form->_mode = 'Live';
+     $form->testSubmit(array(
+       'total_amount' => 50,
+       'financial_type_id' => 1,
+       'receive_date' => '04/21/2015',
+       'receive_date_time' => '11:27PM',
+       'contact_id' => $this->_individualId,
+       'payment_instrument_id' => array_search('Credit Card', $this->paymentInstruments),
+       'contribution_status_id' => 1,
+       'credit_card_number' => 4444333322221111,
+       'cvv2' => 123,
+       'credit_card_exp_date' => array(
+         'M' => 9,
+         'Y' => 2025,
+       ),
+       'credit_card_type' => 'Visa',
+       'billing_first_name' => 'Junko',
+       'billing_middle_name' => '',
+       'billing_last_name' => 'Adams',
+       'billing_street_address-5' => '790L Lincoln St S',
+       'billing_city-5' => 'Maryknoll',
+       'billing_state_province_id-5' => 1031,
+       'billing_postal_code-5' => 10545,
+       'billing_country_id-5' => 1228,
+       'frequency_interval' => 1,
+       'frequency_unit' => 'month',
+       'installments' => '',
+       'hidden_AdditionalDetail' => 1,
+       'hidden_Premium' => 1,
+       'from_email_address' => '"civi45" <civi45@civicrm.com>',
+       'receipt_date' => '',
+       'receipt_date_time' => '',
+       'payment_processor_id' => $this->paymentProcessorID,
+       'currency' => 'USD',
+       'source' => '',
+     ), CRM_Core_Action::ADD);
+     $contribution = $this->callAPISuccessGetSingle('Contribution', array(
+       'contact_id' => $this->_individualId,
+       'contribution_status_id' => 'Completed',
+     ));
+     $this->assertEquals('50', $contribution['total_amount']);
+     $this->assertEquals(0, $contribution['non_deductible_amount']);
+   }
    /**
     * Test the submit function with an invalid payment.
     *