Commit | Line | Data |
---|---|---|
6a488035 TO |
1 | <?php |
2 | /* | |
3 | +--------------------------------------------------------------------+ | |
81621fee | 4 | | CiviCRM version 4.7 | |
6a488035 | 5 | +--------------------------------------------------------------------+ |
e7112fa7 | 6 | | Copyright CiviCRM LLC (c) 2004-2015 | |
6a488035 TO |
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 | +--------------------------------------------------------------------+ | |
d25dd0ee | 26 | */ |
6a488035 | 27 | |
e9479dcf EM |
28 | /** |
29 | * Class CRM_Member_BAO_MembershipStatusTest | |
acb109b7 | 30 | * @group headless |
e9479dcf | 31 | */ |
6a488035 | 32 | class CRM_Member_BAO_MembershipStatusTest extends CiviUnitTestCase { |
6a488035 | 33 | |
00be9182 | 34 | public function setUp() { |
6a488035 TO |
35 | parent::setUp(); |
36 | } | |
37 | ||
795492f3 TO |
38 | /** |
39 | * Check function add() | |
40 | */ | |
00be9182 | 41 | public function testAdd() { |
6a488035 TO |
42 | $params = array( |
43 | 'name' => 'pending', | |
44 | 'is_active' => 1, | |
45 | ); | |
46 | ||
dd12dc87 | 47 | $membershipStatus = CRM_Member_BAO_MembershipStatus::add($params); |
6a488035 TO |
48 | |
49 | $result = $this->assertDBNotNull('CRM_Member_BAO_MembershipStatus', $membershipStatus->id, | |
50 | 'name', 'id', | |
51 | 'Database check on updated membership status record.' | |
52 | ); | |
53 | $this->assertEquals($result, 'pending', 'Verify membership status is_active.'); | |
54 | } | |
55 | ||
00be9182 | 56 | public function testRetrieve() { |
6a488035 | 57 | |
6a488035 TO |
58 | $params = array( |
59 | 'name' => 'testStatus', | |
60 | 'is_active' => 1, | |
61 | ); | |
62 | ||
dd12dc87 | 63 | $membershipStatus = CRM_Member_BAO_MembershipStatus::add($params); |
92915c55 TO |
64 | $defaults = array(); |
65 | $result = CRM_Member_BAO_MembershipStatus::retrieve($params, $defaults); | |
6a488035 TO |
66 | $this->assertEquals($result->name, 'testStatus', 'Verify membership status name.'); |
67 | CRM_Member_BAO_MembershipStatus::del($membershipStatus->id); | |
68 | } | |
e587382f | 69 | |
be004bb9 SL |
70 | public function testPseudoConstantflush() { |
71 | $params = array( | |
72 | 'name' => 'testStatus', | |
73 | 'is_active' => 1, | |
74 | ); | |
75 | $membershipStatus = CRM_Member_BAO_MembershipStatus::add($params); | |
76 | $defaults = array(); | |
77 | $result = CRM_Member_BAO_MembershipStatus::retrieve($params, $defaults); | |
78 | $this->assertEquals($result->name, 'testStatus', 'Verify membership status name.'); | |
e587382f SL |
79 | $updateParams = array( |
80 | 'id' => $membershipStatus->id, | |
615e6fb6 SL |
81 | 'name' => 'testStatus', |
82 | 'label' => 'Changed Status', | |
be004bb9 SL |
83 | 'is_active' => 1, |
84 | ); | |
e587382f | 85 | $membershipStatus2 = CRM_Member_BAO_MembershipStatus::add($updateParams); |
615e6fb6 | 86 | $result = CRM_Member_PseudoConstant::membershipStatus($membershipStatus->id, NULL, 'label', FALSE, FALSE); |
fd94e75e | 87 | $this->assertEquals($result, 'Changed Status', 'Verify updated membership status label From PseudoConstant.'); |
be004bb9 SL |
88 | CRM_Member_BAO_MembershipStatus::del($membershipStatus->id); |
89 | } | |
6a488035 | 90 | |
00be9182 | 91 | public function testSetIsActive() { |
6a488035 | 92 | |
6a488035 TO |
93 | $params = array( |
94 | 'name' => 'pending', | |
95 | 'is_active' => 1, | |
96 | ); | |
97 | ||
dd12dc87 | 98 | $membershipStatus = CRM_Member_BAO_MembershipStatus::add($params); |
6a488035 TO |
99 | $result = CRM_Member_BAO_MembershipStatus::setIsActive($membershipStatus->id, 0); |
100 | $this->assertEquals($result, TRUE, 'Verify membership status record updation.'); | |
101 | ||
102 | $isActive = $this->assertDBNotNull('CRM_Member_BAO_MembershipStatus', $membershipStatus->id, | |
103 | 'is_active', 'id', | |
104 | 'Database check on updated membership status record.' | |
105 | ); | |
106 | $this->assertEquals($isActive, 0, 'Verify membership status is_active.'); | |
107 | } | |
108 | ||
00be9182 | 109 | public function testGetMembershipStatus() { |
6a488035 TO |
110 | $params = array( |
111 | 'name' => 'pending', | |
112 | 'is_active' => 1, | |
113 | ); | |
114 | ||
dd12dc87 | 115 | $membershipStatus = CRM_Member_BAO_MembershipStatus::add($params); |
6a488035 TO |
116 | $result = CRM_Member_BAO_MembershipStatus::getMembershipStatus($membershipStatus->id); |
117 | $this->assertEquals($result['name'], 'pending', 'Verify membership status name.'); | |
118 | } | |
119 | ||
00be9182 | 120 | public function testDel() { |
6a488035 TO |
121 | $params = array( |
122 | 'name' => 'testStatus', | |
123 | 'is_active' => 1, | |
124 | ); | |
125 | ||
dd12dc87 | 126 | $membershipStatus = CRM_Member_BAO_MembershipStatus::add($params); |
6a488035 TO |
127 | CRM_Member_BAO_MembershipStatus::del($membershipStatus->id); |
128 | $defaults = array(); | |
129 | $result = CRM_Member_BAO_MembershipStatus::retrieve($params, $defaults); | |
130 | $this->assertEquals(empty($result), TRUE, 'Verify membership status record deletion.'); | |
131 | } | |
132 | ||
00be9182 | 133 | public function testGetMembershipStatusByDate() { |
6a488035 TO |
134 | $params = array( |
135 | 'name' => 'Current', | |
136 | 'is_active' => 1, | |
137 | 'start_event' => 'start_date', | |
138 | 'end_event' => 'end_date', | |
139 | ); | |
140 | ||
dd12dc87 | 141 | $membershipStatus = CRM_Member_BAO_MembershipStatus::add($params); |
6a488035 TO |
142 | $toDate = date('Ymd'); |
143 | ||
d6910b2a | 144 | $result = CRM_Member_BAO_MembershipStatus::getMembershipStatusByDate($toDate, $toDate, $toDate, 'today', TRUE, NULL, $params); |
6a488035 TO |
145 | $this->assertEquals($result['name'], 'Current', 'Verify membership status record.'); |
146 | } | |
147 | ||
00be9182 | 148 | public function testgetMembershipStatusCurrent() { |
6a488035 TO |
149 | $params = array( |
150 | 'name' => 'Current', | |
151 | 'is_active' => 1, | |
152 | 'is_current_member' => 1, | |
153 | ); | |
154 | ||
dd12dc87 | 155 | $membershipStatus = CRM_Member_BAO_MembershipStatus::add($params); |
6a488035 TO |
156 | $result = CRM_Member_BAO_MembershipStatus::getMembershipStatusCurrent(); |
157 | ||
158 | $this->assertEquals(empty($result), FALSE, 'Verify membership status records is_current_member.'); | |
159 | } | |
96025800 | 160 | |
6a488035 | 161 | } |