RecentItems - Use font-awesome icons in recent items sidebar
[civicrm-core.git] / tests / phpunit / CRM / Member / Selector / SearchTest.php
1 <?php
2 /*
3 +--------------------------------------------------------------------+
4 | Copyright CiviCRM LLC. All rights reserved. |
5 | |
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 +--------------------------------------------------------------------+
10 */
11
12 /**
13 * Class CRM_Member_BAO_MembershipTest
14 *
15 * @group headless
16 */
17 class CRM_Member_Selector_SearchTest extends CiviUnitTestCase {
18
19 /**
20 * Test results from getRows.
21 *
22 * @throws \API_Exception
23 */
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'];
32 $params = [];
33 $selector = new CRM_Member_Selector_Search($params);
34 $rows = $selector->getRows(CRM_Core_Permission::VIEW, 0, 25, NULL);
35 $this->assertEquals([
36 'contact_id' => $this->_contactID,
37 'membership_id' => $membershipID,
38 'contact_type' => '<a href="/index.php?q=civicrm/contact/view&amp;reset=1&amp;cid=' . $this->_contactID . '" data-tooltip-url="/index.php?q=civicrm/profile/view&amp;reset=1&amp;gid=7&amp;id=' . $this->_contactID . '&amp;snippet=4&amp;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,
49 'campaign' => NULL,
50 'campaign_id' => NULL,
51 'checkbox' => 'mark_x_1',
52 'action' => '<span><a href="/index.php?q=civicrm/contact/view/membership&amp;reset=1&amp;id=1&amp;cid=' . $this->_contactID . '&amp;action=view&amp;context=search&amp;selectedChild=member&amp;compContext=membership" class="action-item crm-hover-button" title=\'View Membership\' >View</a><a href="/index.php?q=civicrm/contact/view/membership&amp;reset=1&amp;action=update&amp;id=' . $membershipID . '&amp;cid=' . $this->_contactID . '&amp;context=search&amp;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&amp;reset=1&amp;action=delete&amp;id=' . $membershipID . '&amp;cid=' . $this->_contactID . '&amp;context=search&amp;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&amp;reset=1&amp;action=renew&amp;id=' . $membershipID . '&amp;cid=' . $this->_contactID . '&amp;context=search&amp;compContext=membership" class="action-item crm-hover-button" title=\'Renew Membership\' >Renew</a></li><li><a href="/index.php?q=civicrm/contribute/unsubscribe&amp;reset=1&amp;mid=' . $membershipID . '&amp;context=search&amp;compContext=membership" class="action-item crm-hover-button" title=\'Cancel Auto Renew Subscription\' >Cancel Auto-renewal</a></li></ul></span>',
53 'auto_renew' => 1,
54 ], $rows[0]);
55 $this->assertCount(1, $rows);
56
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);
62 }
63
64 }