commiting uncommited changes on live site
[weblabels.fsf.org.git] / crm.fsf.org / 20131203 / files / sites / all / modules-new / civicrm / tests / phpunit / CRM / Member / BAO / MembershipTest.php
1 <?php
2 /*
3 +--------------------------------------------------------------------+
4 | CiviCRM version 4.6 |
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
28
29 require_once 'CiviTest/CiviUnitTestCase.php';
30 require_once 'CiviTest/Contact.php';
31 require_once 'CiviTest/Custom.php';
32 require_once 'CiviTest/ContributionPage.php';
33 require_once 'CiviTest/Membership.php';
34 require_once 'CRM/Core/Controller.php';
35
36 /**
37 * Class CRM_Member_BAO_MembershipTest
38 */
39 class CRM_Member_BAO_MembershipTest extends CiviUnitTestCase {
40
41 public function setUp() {
42 parent::setUp();
43 // FIXME: something NULLs $GLOBALS['_HTML_QuickForm_registered_rules'] when the tests are ran all together
44 $GLOBALS['_HTML_QuickForm_registered_rules'] = array(
45 'required' => array('html_quickform_rule_required', 'HTML/QuickForm/Rule/Required.php'),
46 'maxlength' => array('html_quickform_rule_range', 'HTML/QuickForm/Rule/Range.php'),
47 'minlength' => array('html_quickform_rule_range', 'HTML/QuickForm/Rule/Range.php'),
48 'rangelength' => array('html_quickform_rule_range', 'HTML/QuickForm/Rule/Range.php'),
49 'email' => array('html_quickform_rule_email', 'HTML/QuickForm/Rule/Email.php'),
50 'regex' => array('html_quickform_rule_regex', 'HTML/QuickForm/Rule/Regex.php'),
51 'lettersonly' => array('html_quickform_rule_regex', 'HTML/QuickForm/Rule/Regex.php'),
52 'alphanumeric' => array('html_quickform_rule_regex', 'HTML/QuickForm/Rule/Regex.php'),
53 'numeric' => array('html_quickform_rule_regex', 'HTML/QuickForm/Rule/Regex.php'),
54 'nopunctuation' => array('html_quickform_rule_regex', 'HTML/QuickForm/Rule/Regex.php'),
55 'nonzero' => array('html_quickform_rule_regex', 'HTML/QuickForm/Rule/Regex.php'),
56 'callback' => array('html_quickform_rule_callback', 'HTML/QuickForm/Rule/Callback.php'),
57 'compare' => array('html_quickform_rule_compare', 'HTML/QuickForm/Rule/Compare.php'),
58 );
59
60 $this->_contactID = $this->organizationCreate();
61 $this->_membershipTypeID = $this->membershipTypeCreate(array('member_of_contact_id' => $this->_contactID));
62 // add a random number to avoid silly conflicts with old data
63 $this->_membershipStatusID = $this->membershipStatusCreate('test status' . rand(1, 1000));
64 }
65
66 /**
67 * Tears down the fixture, for example, closes a network connection.
68 * This method is called after a test is executed.
69 */
70 public function tearDown() {
71 $this->membershipTypeDelete(array('id' => $this->_membershipTypeID));
72 $this->membershipStatusDelete($this->_membershipStatusID);
73 Contact::delete($this->_contactID);
74
75 $this->_contactID = $this->_membershipStatusID = $this->_membershipTypeID = NULL;
76 }
77
78 public function testCreate() {
79
80 $contactId = Contact::createIndividual();
81
82 $params = array(
83 'contact_id' => $contactId,
84 'membership_type_id' => $this->_membershipTypeID,
85 'join_date' => date('Ymd', strtotime('2006-01-21')),
86 'start_date' => date('Ymd', strtotime('2006-01-21')),
87 'end_date' => date('Ymd', strtotime('2006-12-21')),
88 'source' => 'Payment',
89 'is_override' => 1,
90 'status_id' => $this->_membershipStatusID,
91 );
92 $ids = array();
93 CRM_Member_BAO_Membership::create($params, $ids);
94
95 $membershipId = $this->assertDBNotNull('CRM_Member_BAO_Membership', $contactId, 'id',
96 'contact_id', 'Database check for created membership.'
97 );
98
99 // Now call create() to modify an existing Membership
100
101 $params = array();
102 $params = array(
103 'contact_id' => $contactId,
104 'membership_type_id' => $this->_membershipTypeID,
105 'join_date' => date('Ymd', strtotime('2006-01-21')),
106 'start_date' => date('Ymd', strtotime('2006-01-21')),
107 'end_date' => date('Ymd', strtotime('2006-12-21')),
108 'source' => 'Payment',
109 'is_override' => 1,
110 'status_id' => $this->_membershipStatusID,
111 );
112 $ids = array(
113 'membership' => $membershipId,
114 );
115 CRM_Member_BAO_Membership::create($params, $ids);
116
117 $membershipTypeId = $this->assertDBNotNull('CRM_Member_BAO_Membership', $contactId,
118 'membership_type_id', 'contact_id',
119 'Database check on updated membership record.'
120 );
121 $this->assertEquals($membershipTypeId, $this->_membershipTypeID, 'Verify membership type id is fetched.');
122
123 $this->membershipDelete($membershipId);
124 Contact::delete($contactId);
125 }
126
127 public function testGetValues() {
128 // $this->markTestSkipped( 'causes mysterious exit, needs fixing!' );
129 // Calculate membership dates based on the current date
130 $now = time();
131 $year_from_now = $now + (365 * 24 * 60 * 60);
132 $last_month = $now - (30 * 24 * 60 * 60);
133 $year_from_last_month = $last_month + (365 * 24 * 60 * 60);
134
135 $contactId = Contact::createIndividual();
136
137 $params = array(
138 'contact_id' => $contactId,
139 'membership_type_id' => $this->_membershipTypeID,
140 'join_date' => date('Ymd'),
141 'start_date' => date('Ymd'),
142 'end_date' => date('Ymd', $year_from_now),
143 'source' => 'Payment',
144 'is_override' => 1,
145 'status_id' => $this->_membershipStatusID,
146 );
147
148 $ids = array();
149 CRM_Member_BAO_Membership::create($params, $ids);
150
151 $membershipId1 = $this->assertDBNotNull('CRM_Member_BAO_Membership', $contactId, 'id',
152 'contact_id', 'Database check for created membership.'
153 );
154
155 $params = array(
156 'contact_id' => $contactId,
157 'membership_type_id' => $this->_membershipTypeID,
158 'join_date' => date('Ymd', $last_month),
159 'start_date' => date('Ymd', $last_month),
160 'end_date' => date('Ymd', $year_from_last_month),
161 'source' => 'Source123',
162 'is_override' => 0,
163 'status_id' => $this->_membershipStatusID,
164 );
165 $ids = array();
166 CRM_Member_BAO_Membership::create($params, $ids);
167
168 $membershipId2 = $this->assertDBNotNull('CRM_Member_BAO_Membership', 'source123', 'id',
169 'source', 'Database check for created membership.'
170 );
171
172 $membership = array('contact_id' => $contactId);
173 $membershipValues = array();
174 CRM_Member_BAO_Membership::getValues($membership, $membershipValues, TRUE);
175
176 $this->assertEquals($membershipValues[$membershipId1]['membership_id'], $membershipId1, 'Verify membership record 1 is fetched.');
177
178 $this->assertEquals($membershipValues[$membershipId2]['membership_id'], $membershipId2, 'Verify membership record 2 is fetched.');
179
180 $this->membershipDelete($membershipId1);
181 $this->membershipDelete($membershipId2);
182 Contact::delete($contactId);
183 }
184
185 public function testRetrieve() {
186 $contactId = Contact::createIndividual();
187
188 $params = array(
189 'contact_id' => $contactId,
190 'membership_type_id' => $this->_membershipTypeID,
191 'join_date' => date('Ymd', strtotime('2006-01-21')),
192 'start_date' => date('Ymd', strtotime('2006-01-21')),
193 'end_date' => date('Ymd', strtotime('2006-12-21')),
194 'source' => 'Payment',
195 'is_override' => 1,
196 'status_id' => $this->_membershipStatusID,
197 );
198 $ids = array();
199 CRM_Member_BAO_Membership::create($params, $ids);
200
201 $membershipId = $this->assertDBNotNull('CRM_Member_BAO_Membership', $contactId, 'id',
202 'contact_id', 'Database check for created membership.'
203 );
204 $params = array('id' => $membershipId);
205 $values = array();
206 CRM_Member_BAO_Membership::retrieve($params, $values);
207 $this->assertEquals($values['id'], $membershipId, 'Verify membership record is retrieved.');
208
209 $this->membershipDelete($membershipId);
210 $this->contactDelete($contactId);
211 }
212
213 public function testActiveMembers() {
214 $contactId = Contact::createIndividual();
215
216 $params = array(
217 'contact_id' => $contactId,
218 'membership_type_id' => $this->_membershipTypeID,
219 'join_date' => date('Ymd', strtotime('2006-01-21')),
220 'start_date' => date('Ymd', strtotime('2006-01-21')),
221 'end_date' => date('Ymd', strtotime('2006-12-21')),
222 'source' => 'Payment',
223 'is_override' => 1,
224 'status_id' => $this->_membershipStatusID,
225 );
226 $ids = array();
227 CRM_Member_BAO_Membership::create($params, $ids);
228
229 $membershipId1 = $this->assertDBNotNull('CRM_Member_BAO_Membership', $contactId, 'id',
230 'contact_id', 'Database check for created membership.'
231 );
232
233 $params = array('id' => $membershipId1);
234 $values1 = array();
235 CRM_Member_BAO_Membership::retrieve($params, $values1);
236 $membership = array($membershipId1 => $values1);
237
238 $params = array(
239 'contact_id' => $contactId,
240 'membership_type_id' => $this->_membershipTypeID,
241 'join_date' => date('Ymd', strtotime('2006-01-21')),
242 'start_date' => date('Ymd', strtotime('2006-01-21')),
243 'end_date' => date('Ymd', strtotime('2006-12-21')),
244 'source' => 'PaySource',
245 'is_override' => 1,
246 'status_id' => $this->_membershipStatusID,
247 );
248 $ids = array();
249 CRM_Member_BAO_Membership::create($params, $ids);
250
251 $membershipId2 = $this->assertDBNotNull('CRM_Member_BAO_Membership', 'PaySource', 'id',
252 'source', 'Database check for created membership.'
253 );
254
255 $params = array('id' => $membershipId2);
256 $values2 = array();
257 CRM_Member_BAO_Membership::retrieve($params, $values2);
258 $membership[$membershipId2] = $values2;
259
260 $activeMembers = CRM_Member_BAO_Membership::activeMembers($membership);
261 $inActiveMembers = CRM_Member_BAO_Membership::activeMembers($membership, 'inactive');
262
263 $this->assertEquals($activeMembers[$membershipId1]['id'], $membership[$membershipId1]['id'], 'Verify active membership record is retrieved.');
264 $this->assertEquals($activeMembers[$membershipId2]['id'], $membership[$membershipId2]['id'], 'Verify active membership record is retrieved.');
265
266 $this->assertEquals(0, count($inActiveMembers), 'Verify No inactive membership record is retrieved.');
267
268 $this->membershipDelete($membershipId1);
269 $this->membershipDelete($membershipId2);
270 Contact::delete($contactId);
271 }
272
273 public function testDeleteMembership() {
274 $contactId = Contact::createIndividual();
275
276 $params = array(
277 'contact_id' => $contactId,
278 'membership_type_id' => $this->_membershipTypeID,
279 'join_date' => date('Ymd', strtotime('2006-01-21')),
280 'start_date' => date('Ymd', strtotime('2006-01-21')),
281 'end_date' => date('Ymd', strtotime('2006-12-21')),
282 'source' => 'Payment',
283 'is_override' => 1,
284 'status_id' => $this->_membershipStatusID,
285 );
286 $ids = array();
287 CRM_Member_BAO_Membership::create($params, $ids);
288
289 $membershipId = $this->assertDBNotNull('CRM_Member_BAO_Membership', $contactId, 'id',
290 'contact_id', 'Database check for created membership.'
291 );
292 CRM_Member_BAO_Membership::del($membershipId);
293
294 $membershipId = $this->assertDBNull('CRM_Member_BAO_Membership', $contactId, 'id',
295 'contact_id', 'Database check for deleted membership.'
296 );
297 Contact::delete($contactId);
298 }
299
300 public function testGetContactMembership() {
301 $contactId = Contact::createIndividual();
302
303 $params = array(
304 'contact_id' => $contactId,
305 'membership_type_id' => $this->_membershipTypeID,
306 'join_date' => date('Ymd', strtotime('2006-01-21')),
307 'start_date' => date('Ymd', strtotime('2006-01-21')),
308 'end_date' => date('Ymd', strtotime('2006-12-21')),
309 'source' => 'Payment',
310 'is_override' => 1,
311 'status_id' => $this->_membershipStatusID,
312 );
313 $ids = array();
314 CRM_Member_BAO_Membership::create($params, $ids);
315
316 $membershipId = $this->assertDBNotNull('CRM_Member_BAO_Membership', $contactId, 'id',
317 'contact_id', 'Database check for created membership.'
318 );
319
320 $membership = CRM_Member_BAO_Membership::getContactMembership($contactId, $this->_membershipTypeID, FALSE);
321
322 $this->assertEquals($membership['id'], $membershipId, 'Verify membership record is retrieved.');
323
324 $this->membershipDelete($membershipId);
325 Contact::delete($contactId);
326 }
327
328
329 /**
330 * Get the contribution.
331 * page id from the membership record
332 */
333 public function testgetContributionPageId() {
334 $contactId = Contact::createIndividual();
335
336 $params = array(
337 'contact_id' => $contactId,
338 'membership_type_id' => $this->_membershipTypeID,
339 'join_date' => date('Ymd', strtotime('2006-01-21')),
340 'start_date' => date('Ymd', strtotime('2006-01-21')),
341 'end_date' => date('Ymd', strtotime('2006-12-21')),
342 'source' => 'Payment',
343 'is_override' => 1,
344 'status_id' => $this->_membershipStatusID,
345 );
346 $ids = array();
347 CRM_Member_BAO_Membership::create($params, $ids);
348
349 $membershipId = $this->assertDBNotNull('CRM_Member_BAO_Membership', $contactId, 'id',
350 'contact_id', 'Database check for created membership.'
351 );
352 $membership[$membershipId]['renewPageId'] = CRM_Member_BAO_Membership::getContributionPageId($membershipId);
353
354 $this->membershipDelete($membershipId);
355 Contact::delete($contactId);
356 }
357
358 /**
359 * Get membership joins/renewals
360 * for a specified membership
361 * type.
362 */
363 public function testgetMembershipStarts() {
364 $contactId = Contact::createIndividual();
365
366 $params = array(
367 'contact_id' => $contactId,
368 'membership_type_id' => $this->_membershipTypeID,
369 'join_date' => date('Ymd', strtotime('2006-01-21')),
370 'start_date' => date('Ymd', strtotime('2006-01-21')),
371 'end_date' => date('Ymd', strtotime('2006-12-21')),
372 'source' => 'Payment',
373 'is_override' => 1,
374 'status_id' => $this->_membershipStatusID,
375 );
376 $ids = array();
377 CRM_Member_BAO_Membership::create($params, $ids);
378
379 $membershipId = $this->assertDBNotNull('CRM_Member_BAO_Membership', $contactId, 'id',
380 'contact_id', 'Database check for created membership.'
381 );
382 $yearStart = date('Y') . '0101';
383 $currentDate = date('Ymd');
384 CRM_Member_BAO_Membership::getMembershipStarts($this->_membershipTypeID, $yearStart, $currentDate);
385
386 $this->membershipDelete($membershipId);
387 Contact::delete($contactId);
388 }
389
390 /**
391 * Get a count of membership for a specified membership type,
392 * optionally for a specified date.
393 */
394 public function testGetMembershipCount() {
395 $contactId = Contact::createIndividual();
396
397 $params = array(
398 'contact_id' => $contactId,
399 'membership_type_id' => $this->_membershipTypeID,
400 'join_date' => date('Ymd', strtotime('2006-01-21')),
401 'start_date' => date('Ymd', strtotime('2006-01-21')),
402 'end_date' => date('Ymd', strtotime('2006-12-21')),
403 'source' => 'Payment',
404 'is_override' => 1,
405 'status_id' => $this->_membershipStatusID,
406 );
407 $ids = array();
408 CRM_Member_BAO_Membership::create($params, $ids);
409
410 $membershipId = $this->assertDBNotNull('CRM_Member_BAO_Membership', $contactId, 'id',
411 'contact_id', 'Database check for created membership.'
412 );
413 $currentDate = date('Ymd');
414 $test = 0;
415 CRM_Member_BAO_Membership::getMembershipCount($this->_membershipTypeID, $currentDate, $test);
416
417 $this->membershipDelete($membershipId);
418 Contact::delete($contactId);
419 }
420
421
422 /**
423 * Take sort name of contact during
424 * batch update member via profile
425 */
426 public function testsortName() {
427 $contactId = Contact::createIndividual();
428
429 $params = array(
430 'contact_id' => $contactId,
431 'membership_type_id' => $this->_membershipTypeID,
432 'join_date' => date('Ymd', strtotime('2006-01-21')),
433 'start_date' => date('Ymd', strtotime('2006-01-21')),
434 'end_date' => date('Ymd', strtotime('2006-12-21')),
435 'source' => 'Payment',
436 'is_override' => 1,
437 'status_id' => $this->_membershipStatusID,
438 );
439 $ids = array();
440
441 CRM_Member_BAO_Membership::create($params, $ids);
442
443 $membershipId = $this->assertDBNotNull('CRM_Member_BAO_Membership', $contactId, 'id',
444 'contact_id', 'Database check for created membership.'
445 );
446
447 CRM_Member_BAO_Membership::sortName($membershipId);
448
449 $this->assertDBCompareValue('CRM_Contact_DAO_Contact', $contactId, 'sort_name', 'id', 'Doe, John',
450 'Database check for sort name record.'
451 );
452
453 $this->membershipDelete($membershipId);
454 Contact::delete($contactId);
455 }
456
457 /**
458 * Delete related memberships.
459 */
460 public function testdeleteRelatedMemberships() {
461 $contactId = Contact::createIndividual();
462
463 $params = array(
464 'contact_id' => $contactId,
465 'membership_type_id' => $this->_membershipTypeID,
466 'join_date' => date('Ymd', strtotime('2006-01-21')),
467 'start_date' => date('Ymd', strtotime('2006-01-21')),
468 'end_date' => date('Ymd', strtotime('2006-12-21')),
469 'source' => 'Payment',
470 'is_override' => 1,
471 'status_id' => $this->_membershipStatusID,
472 );
473 $ids = array();
474
475 CRM_Member_BAO_Membership::create($params, $ids);
476
477 $membershipId = $this->assertDBNotNull('CRM_Member_BAO_Membership', $contactId, 'id',
478 'contact_id', 'Database check for created membership.'
479 );
480
481 CRM_Member_BAO_Membership::deleteRelatedMemberships($membershipId);
482
483 $this->membershipDelete($membershipId);
484 Contact::delete($contactId);
485 }
486
487 /**
488 * Renew membership with change in membership type.
489 */
490 public function testRenewMembership() {
491 $contactId = Contact::createIndividual();
492 $joinDate = $startDate = date("Ymd", strtotime(date("Ymd") . " -6 month"));
493 $endDate = date("Ymd", strtotime($joinDate . " +1 year -1 day"));
494 $params = array(
495 'contact_id' => $contactId,
496 'membership_type_id' => $this->_membershipTypeID,
497 'join_date' => $joinDate,
498 'start_date' => $startDate,
499 'end_date' => $endDate,
500 'source' => 'Payment',
501 'is_override' => 1,
502 'status_id' => $this->_membershipStatusID,
503 );
504 $ids = array();
505 $membership = CRM_Member_BAO_Membership::create($params, $ids);
506 $membershipId = $this->assertDBNotNull('CRM_Member_BAO_Membership', $contactId, 'id',
507 'contact_id', 'Database check for created membership.'
508 );
509
510 $this->assertDBNotNull('CRM_Member_BAO_MembershipLog',
511 $membership->id,
512 'id',
513 'membership_id',
514 'Database checked on membershiplog record.'
515 );
516
517 // this is a test and we dont want qfKey generation / validation
518 // easier to suppress it, than change core code
519 $config = CRM_Core_Config::singleton();
520 $config->keyDisable = TRUE;
521
522 $membershipRenewal = new CRM_Core_Form();
523 $membershipRenewal->controller = new CRM_Core_Controller();
524 $isTestMembership = 0;
525 $MembershipRenew = CRM_Member_BAO_Membership::renewMembershipFormWrapper(
526 $contactId,
527 $this->_membershipTypeID,
528 $isTestMembership,
529 $membershipRenewal,
530 NULL,
531 NULL
532 );
533 $endDate = date("Y-m-d", strtotime($membership->end_date . " +1 year"));
534
535 $this->assertDBNotNull('CRM_Member_BAO_MembershipLog',
536 $MembershipRenew->id,
537 'id',
538 'membership_id',
539 'Database checked on membershiplog record.'
540 );
541 $this->assertEquals($this->_membershipTypeID, $MembershipRenew->membership_type_id, 'Verify membership type is changed during renewal.');
542 $this->assertEquals($endDate, $MembershipRenew->end_date, 'Verify correct end date is calculated after membership renewal');
543
544 $this->membershipDelete($membershipId);
545 Contact::delete($contactId);
546 }
547
548 /**
549 * Renew stale membership.
550 */
551 public function testStaleMembership() {
552 $statusId = 3;
553 $contactId = Contact::createIndividual();
554 $joinDate = $startDate = date("Ymd", strtotime(date("Ymd") . " -1 year -15 days"));
555 $endDate = date("Ymd", strtotime($joinDate . " +1 year -1 day"));
556 $params = array(
557 'contact_id' => $contactId,
558 'membership_type_id' => $this->_membershipTypeID,
559 'join_date' => $joinDate,
560 'start_date' => $startDate,
561 'end_date' => $endDate,
562 'source' => 'Payment',
563 'status_id' => $statusId,
564 );
565
566 $ids = array();
567 $membership = CRM_Member_BAO_Membership::create($params, $ids);
568
569 $membershipId = $this->assertDBNotNull('CRM_Member_BAO_Membership', $contactId, 'id',
570 'contact_id', 'Database check for created membership.'
571 );
572
573 $this->assertEquals($membership->status_id, $statusId, 'Verify correct status id is calculated.');
574 $this->assertEquals($membership->membership_type_id, $this->_membershipTypeID,
575 'Verify correct membership type id.'
576 );
577
578 //verify all dates.
579 $dates = array(
580 'startDate' => 'start_date',
581 'joinDate' => 'join_date',
582 'endDate' => 'end_date',
583 );
584
585 foreach ($dates as $date => $dbDate) {
586 $this->assertEquals($membership->$dbDate, $$date,
587 "Verify correct {$date} is present."
588 );
589 }
590
591 $this->assertDBNotNull('CRM_Member_BAO_MembershipLog',
592 $membership->id,
593 'id',
594 'membership_id',
595 'Database checked on membershiplog record.'
596 );
597
598 // this is a test and we dont want qfKey generation / validation
599 // easier to suppress it, than change core code
600 $config = CRM_Core_Config::singleton();
601 $config->keyDisable = TRUE;
602
603 $membershipRenewal = new CRM_Core_Form();
604 $membershipRenewal->controller = new CRM_Core_Controller();
605 $MembershipRenew = CRM_Member_BAO_Membership::renewMembershipFormWrapper($contactId, $this->_membershipTypeID, $isTestMembership = 0, $membershipRenewal, NULL, NULL);
606
607 $this->assertDBNotNull('CRM_Member_BAO_MembershipLog',
608 $MembershipRenew->id,
609 'id',
610 'membership_id',
611 'Database checked on membershiplog record.'
612 );
613
614 $this->membershipDelete($membershipId);
615 Contact::delete($contactId);
616 }
617
618 }