Merge branch '4.6' into master
[civicrm-core.git] / tests / phpunit / CRM / Financial / BAO / FinancialTypeTest.php
1 <?php
2 /*
3 +--------------------------------------------------------------------+
4 | CiviCRM version 4.7 |
5 +--------------------------------------------------------------------+
6 | Copyright CiviCRM LLC (c) 2004-2015 |
7 +--------------------------------------------------------------------+
8 | This file is a part of CiviCRM. |
9 | |
10 | CiviCRM is free software; you can copy, modify, and distribute it |
11 | under the terms of the GNU Affero General Public License |
12 | Version 3, 19 November 2007 and the CiviCRM Licensing Exception. |
13 | |
14 | CiviCRM is distributed in the hope that it will be useful, but |
15 | WITHOUT ANY WARRANTY; without even the implied warranty of |
16 | MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. |
17 | See the GNU Affero General Public License for more details. |
18 | |
19 | You should have received a copy of the GNU Affero General Public |
20 | License and the CiviCRM Licensing Exception along |
21 | with this program; if not, contact CiviCRM LLC |
22 | at info[AT]civicrm[DOT]org. If you have questions about the |
23 | GNU Affero General Public License or the licensing of CiviCRM, |
24 | see the CiviCRM license FAQ at http://civicrm.org/licensing |
25 +--------------------------------------------------------------------+
26 */
27 require_once 'CiviTest/CiviUnitTestCase.php';
28
29 /**
30 * Class CRM_Financial_BAO_FinancialTypeTest
31 */
32 class CRM_Financial_BAO_FinancialTypeTest extends CiviUnitTestCase {
33
34 public function setUp() {
35 parent::setUp();
36 }
37
38 public function teardown() {
39 $this->financialAccountDelete('Donations');
40 }
41
42 /**
43 * Check method add()
44 */
45 public function testAdd() {
46 $params = array(
47 'name' => 'Donations',
48 'is_active' => 1,
49 'is_deductible' => 1,
50 'is_reserved' => 1,
51 );
52 $ids = array();
53 $financialType = CRM_Financial_BAO_FinancialType::add($params, $ids);
54 $result = $this->assertDBNotNull(
55 'CRM_Financial_DAO_FinancialType',
56 $financialType->id,
57 'name',
58 'id',
59 'Database check on added financial type record.'
60 );
61 $this->assertEquals($result, 'Donations', 'Verify Name for Financial Type');
62 }
63
64 /**
65 * Check method retrive()
66 */
67 public function testRetrieve() {
68 $params = array(
69 'name' => 'Donations',
70 'is_active' => 1,
71 'is_deductible' => 1,
72 'is_reserved' => 1,
73 );
74
75 $ids = array();
76 CRM_Financial_BAO_FinancialType::add($params, $ids);
77
78 $defaults = array();
79 $result = CRM_Financial_BAO_FinancialType::retrieve($params, $defaults);
80 $this->assertEquals($result->name, 'Donations', 'Verify Name for Financial Type');
81 }
82
83 /**
84 * Check method setIsActive()
85 */
86 public function testSetIsActive() {
87 $params = array(
88 'name' => 'Donations',
89 'is_deductible' => 0,
90 'is_active' => 1,
91 );
92 $ids = array();
93 $financialType = CRM_Financial_BAO_FinancialType::add($params, $ids);
94 $result = CRM_Financial_BAO_FinancialType::setIsActive($financialType->id, 0);
95 $this->assertEquals($result, TRUE, 'Verify financial type record updation for is_active.');
96 $isActive = $this->assertDBNotNull(
97 'CRM_Financial_DAO_FinancialType',
98 $financialType->id,
99 'is_active',
100 'id',
101 'Database check on updated for financial type is_active.'
102 );
103 $this->assertEquals($isActive, 0, 'Verify financial types is_active.');
104 }
105
106 /**
107 * Check method del()
108 */
109 public function testDel() {
110 $params = array(
111 'name' => 'Donations',
112 'is_deductible' => 0,
113 'is_active' => 1,
114 );
115 $ids = array();
116 $financialType = CRM_Financial_BAO_FinancialType::add($params, $ids);
117
118 CRM_Financial_BAO_FinancialType::del($financialType->id);
119 $params = array('id' => $financialType->id);
120 $result = CRM_Financial_BAO_FinancialType::retrieve($params, $defaults);
121 $this->assertEquals(empty($result), TRUE, 'Verify financial types record deletion.');
122 }
123
124 }