Revert Matt's fix for dev/membership#24 as it is incomplete and add a unit test in...
[civicrm-core.git] / tests / phpunit / api / v3 / FinancialTypeACLTest.php
index a5c22596d7797c9402099f42d30833618bbc9e91..7aa516ebd47191325edffd2845efe2448739e9d9 100644 (file)
@@ -316,4 +316,20 @@ class api_v3_FinancialTypeACLTest extends CiviUnitTestCase {
     $this->assertEquals($contribution['count'], 1);
   }
 
+  public function testMembersipTypeACLFinancialTypeACL() {
+    $contactID = $this->individualCreate();
+    $this->contactMembershipCreate(['contact_id' => $contactID]);
+    $this->enableFinancialACLs();
+    $this->setPermissions([
+      'access CiviCRM',
+      'access CiviContribute',
+      'view all contacts',
+      'add contributions of type Donation',
+      'view contributions of type Donation',
+    ]);
+    $this->assertEquals(0, CRM_Member_BAO_Membership::getContactMembershipCount($contactID));
+    $this->addFinancialAclPermissions([['view', 'Member Dues']]);
+    $this->assertEquals(1, CRM_Member_BAO_Membership::getContactMembershipCount($contactID));
+  }
+
 }