3 +--------------------------------------------------------------------+
4 | Copyright CiviCRM LLC. All rights reserved. |
6 | This work is published under the GNU AGPLv3 license with some |
7 | permitted exceptions and without any warranty. For full license |
8 | and copyright information, see https://civicrm.org/licensing |
9 +--------------------------------------------------------------------+
13 * Class CRM_Member_BAO_MembershipTest
17 class CRM_Member_Selector_SearchTest
extends CiviUnitTestCase
{
20 * Test results from getRows.
22 * @throws \API_Exception
24 public function testSelectorGetRows(): void
{
25 $this->_contactID
= $this->individualCreate();
26 $this->_invoiceID
= 1234;
27 $this->_contributionPageID
= NULL;
28 $this->_paymentProcessorID
= $this->paymentProcessorCreate();
29 $this->setupMembershipRecurringPaymentProcessorTransaction();
30 $membership = $this->callAPISuccessGetSingle('Membership', ['contact_id' => $this->_contactID
]);
31 $membershipID = $membership['id'];
33 $selector = new CRM_Member_Selector_Search($params);
34 $rows = $selector->getRows(CRM_Core_Permission
::VIEW
, 0, 25, NULL);
36 'contact_id' => $this->_contactID
,
37 'membership_id' => $membershipID,
38 'contact_type' => '<a href="/index.php?q=civicrm/contact/view&reset=1&cid=' . $this->_contactID
. '" data-tooltip-url="/index.php?q=civicrm/profile/view&reset=1&gid=7&id=' . $this->_contactID
. '&snippet=4&is_show_email_task=1" class="crm-summary-link"><i class="crm-i fa-fw fa-user" title=""></i></a>',
39 'sort_name' => 'Anderson, Anthony',
40 'membership_type' => 'General',
41 'membership_join_date' => date('Y-m-d'),
42 'membership_start_date' => date('Y-m-d'),
43 'membership_end_date' => $membership['end_date'],
44 'membership_source' => 'Payment',
45 'member_is_test' => '0',
46 'owner_membership_id' => NULL,
47 'membership_status' => 'Pending',
48 'member_campaign_id' => NULL,
50 'campaign_id' => NULL,
51 'checkbox' => 'mark_x_1',
52 'action' => '<span><a href="/index.php?q=civicrm/contact/view/membership&reset=1&id=1&cid=' . $this->_contactID
. '&action=view&context=search&selectedChild=member&compContext=membership" class="action-item crm-hover-button" title=\'View Membership\' >View</a><a href="/index.php?q=civicrm/contact/view/membership&reset=1&action=update&id=' . $membershipID . '&cid=' . $this->_contactID
. '&context=search&compContext=membership" class="action-item crm-hover-button" title=\'Edit Membership\' >Edit</a></span><span class=\'btn-slide crm-hover-button\'>Renew...<ul class=\'panel\'><li><a href="/index.php?q=civicrm/contact/view/membership&reset=1&action=delete&id=' . $membershipID . '&cid=' . $this->_contactID
. '&context=search&compContext=membership" class="action-item crm-hover-button small-popup" title=\'Delete Membership\' >Delete</a></li><li><a href="/index.php?q=civicrm/contact/view/membership&reset=1&action=renew&id=' . $membershipID . '&cid=' . $this->_contactID
. '&context=search&compContext=membership" class="action-item crm-hover-button" title=\'Renew Membership\' >Renew</a></li><li><a href="/index.php?q=civicrm/contribute/unsubscribe&reset=1&mid=' . $membershipID . '&context=search&compContext=membership" class="action-item crm-hover-button" title=\'Cancel Auto Renew Subscription\' >Cancel Auto-renewal</a></li></ul></span>',
55 $this->assertCount(1, $rows);
57 //Verify if NULL search on source returns the row correctly.
58 $params = [['membership_source', 'IS NOT NULL', '', 1, 0]];
59 $selector = new CRM_Member_Selector_Search($params);
60 $rows = $selector->getRows(CRM_Core_Permission
::VIEW
, 0, 25, NULL);
61 $this->assertCount(1, $rows);