Skip to content

Commit

Permalink
Merge pull request #24135 from eileenmcnaughton/cont_status
Browse files Browse the repository at this point in the history
Fix test to not use Contribution option group for ContributionRecur status
  • Loading branch information
seamuslee001 authored Aug 4, 2022
2 parents beb2d1e + 564c1d8 commit bfd68db
Showing 1 changed file with 19 additions and 19 deletions.
38 changes: 19 additions & 19 deletions tests/phpunit/CRM/Report/Form/Member/DetailTest.php
Original file line number Diff line number Diff line change
Expand Up @@ -9,6 +9,8 @@
+--------------------------------------------------------------------+
*/

use Civi\Api4\ContributionRecur;

/**
* Test Activity report outcome
*
Expand All @@ -18,22 +20,20 @@ class CRM_Report_Form_Member_DetailTest extends CiviReportTestCase {

public function setUp(): void {
parent::setUp();

$this->_orgContactID = $this->organizationCreate();
$this->_financialTypeId = 1;
$this->_membershipStatusID = $this->membershipStatusCreate('test status');
$this->_membershipTypeID = $this->membershipTypeCreate(['name' => 'Test Member']);
}

public function testAutoRenewDisplay() {

/**
* Test the display of the auto renew memberships.
*
* @throws \CRM_Core_Exception
*/
public function testAutoRenewDisplay(): void {
$indContactID1 = $this->individualCreate();
$indContactID2 = $this->individualCreate();
$indContactID3 = $this->individualCreate();
$recurStatus = array_search(
'In Progress',
CRM_Contribute_PseudoConstant::contributionStatus(NULL, 'name')
);
$recurParams = [
'contact_id' => $indContactID1,
'amount' => '5.00',
Expand All @@ -42,52 +42,52 @@ public function testAutoRenewDisplay() {
'frequency_interval' => 30,
'create_date' => '2019-06-22',
'start_date' => '2019-06-22',
'contribution_status_id' => $recurStatus,
'contribution_status_id:name' => 'In Progress',
];
$recur1 = civicrm_api3('ContributionRecur', 'create', $recurParams);
$recur1 = ContributionRecur::create()->setValues($recurParams)->execute()->first();
$memParams = [
'membership_type_id' => $this->_membershipTypeID,
'contact_id' => $indContactID1,
'status_id' => $this->_membershipStatusID,
'status_id:name' => 'test status',
'contribution_recur_id' => $recur1['id'],
'join_date' => '2019-06-22',
'start_date' => '2019-06-22',
'end_date' => '2019-07-22',
'source' => 'Payment',
];
$mem1 = civicrm_api3('Membership', 'create', $memParams);
$this->callAPISuccess('Membership', 'create', $memParams);
$recurParams['end_date'] = '2019-06-23';
$recurParams['contact_id'] = $indContactID1;
$recur2 = civicrm_api3('ContributionRecur', 'create', $recurParams);
$recur2 = ContributionRecur::create()->setValues($recurParams)->execute()->first();
$memParams['contact_id'] = $indContactID2;
$memParams['contribution_recur_id'] = $recur2['id'];
$mem2 = civicrm_api3('Membership', 'create', $memParams);
civicrm_api3('Membership', 'create', $memParams);
$memParams['contact_id'] = $indContactID3;
unset($memParams['contribution_recur_id']);
$mem3 = civicrm_api3('Membership', 'create', $memParams);
civicrm_api3('Membership', 'create', $memParams);

$input = [
'fields' => ['autorenew_status_id'],
'filters' => [
'tid_op' => 'in',
'tid_value' => $this->_membershipTypeID,
'autorenew_status_id_op' => 'in',
'autorenew_status_id_value' => $recurStatus,
'autorenew_status_id_value' => CRM_Core_PseudoConstant::getKey('CRM_Contribute_BAO_ContributionRecur', 'contribution_status_id', 'In Progress'),
],
];
$obj = $this->getReportObject('CRM_Report_Form_Member_Detail', $input);
$results = $obj->getResultSet();
$this->assertCount(2, $results);
foreach ($results as $result) {
if ($result['civicrm_contact_id'] == $indContactID1) {
if ($result['civicrm_contact_id'] === $indContactID1) {
$this->assertStringNotContainsString('(ended)', $result['civicrm_contribution_recur_autorenew_status_id']);
}
if ($result['civicrm_contact_id'] == $indContactID2) {
if ($result['civicrm_contact_id'] === $indContactID2) {
$this->assertStringContainsString('(ended)', $result['civicrm_contribution_recur_autorenew_status_id']);
}
}

$input['filters']['autorenew_status_id_value'] = "0,$recurStatus";
$input['filters']['autorenew_status_id_value'] = '0,' . CRM_Core_PseudoConstant::getKey('CRM_Contribute_BAO_ContributionRecur', 'status_id', 'In Progress');
$obj = $this->getReportObject('CRM_Report_Form_Member_Detail', $input);
$results = $obj->getResultSet();
$this->assertCount(3, $results);
Expand Down

0 comments on commit bfd68db

Please sign in to comment.