CRM-20260, Added Unit test
authorPradeep Nayak <pradpnayak@gmail.com>
Mon, 10 Apr 2017 21:02:15 +0000 (09:02 +1200)
committereileen <emcnaughton@wikimedia.org>
Sun, 23 Apr 2017 00:45:16 +0000 (12:45 +1200)
tests/phpunit/CRM/Financial/BAO/FinancialItemTest.php

index 907b6980605f6df1ee9322fa0e7dd36a627661d7..1d65940dc1a3d759febb8806caa4a68e50170d8e 100644 (file)
@@ -35,6 +35,14 @@ class CRM_Financial_BAO_FinancialItemTest extends CiviUnitTestCase {
     parent::setUp();
   }
 
+  /**
+   * Clean up after each test.
+   */
+  public function tearDown() {
+    $this->quickCleanUpFinancialEntities();
+    parent::tearDown();
+  }
+
   /**
    * Check method add()
    */
@@ -301,4 +309,49 @@ class CRM_Financial_BAO_FinancialItemTest extends CiviUnitTestCase {
     $this->assertEquals(200.00, $financialItem['values'][$financialItem['id']]['amount'], "The amounts do not match.");
   }
 
+  /**
+   * Check method getPreviousFinancialItem() with tax entry.
+   */
+  public function testGetPreviousFinancialItemHavingTax() {
+    $contactId = $this->individualCreate();
+    $this->enableTaxAndInvoicing();
+    $this->relationForFinancialTypeWithFinancialAccount(1);
+    $form = new CRM_Contribute_Form_Contribution();
+    $form->testSubmit(array(
+       'total_amount' => 100,
+        'financial_type_id' => 1,
+        'receive_date' => '04/21/2015',
+        'receive_date_time' => '11:27PM',
+        'contact_id' => $contactId,
+        'contribution_status_id' => 1,
+        'price_set_id' => 0,
+      ),
+      CRM_Core_Action::ADD
+    );
+    $contribution = $this->callAPISuccessGetSingle('Contribution',
+      array(
+        'contact_id' => $contactId,
+        'return' => array('id'),
+      )
+    );
+    $financialItem = CRM_Financial_BAO_FinancialItem::getPreviousFinancialItem($contribution['id']);
+    $params = array(
+      'id' => $financialItem['id'],
+      'return' => array(
+        'description',
+        'status_id',
+        'amount',
+        'financial_account_id',
+      ),
+    );
+    $checkAgainst = array(
+      'id' => $financialItem['id'],
+      'description' => 'Contribution Amount',
+      'status_id' => '1',
+      'amount' => '100.00',
+      'financial_account_id' => '1',
+    );
+    $this->callAPISuccessGetSingle('FinancialItem', $params, $checkAgainst);
+  }
+
 }