3 namespace Civi\Financialacls
;
5 use Civi\Api4\MembershipType
;
7 // I fought the Autoloader and the autoloader won.
8 require_once 'BaseTestClass.php';
13 class MembershipTypesTest
extends BaseTestClass
{
16 * Test buildMembershipTypes.
18 public function testMembershipTypesHook() {
19 $types = MembershipType
::save(FALSE)->setRecords([
20 ['name' => 'Forbidden', 'financial_type_id:name' => 'Member Dues'],
21 ['name' => 'Go for it', 'financial_type_id:name' => 'Donation'],
22 ])->setDefaults(['period_type' => 'rolling', 'member_of_contact_id' => 1])->execute()->indexBy('name');
23 $this->setupLoggedInUserWithLimitedFinancialTypeAccess();
24 $permissionedTypes = \CRM_Member_BAO_Membership
::buildMembershipTypeValues(new \
CRM_Member_Form_Membership());
25 $this->assertEquals([$types['Go for it']['id']], array_keys($permissionedTypes));