Use trait rather than parent class for acl test functions
authoreileen <emcnaughton@wikimedia.org>
Thu, 13 Dec 2018 02:48:54 +0000 (15:48 +1300)
committereileen <emcnaughton@wikimedia.org>
Thu, 13 Dec 2018 02:48:54 +0000 (15:48 +1300)
This got separated out over a few recent commits (the first one seems to have somewhat
accidentally included the trait & then some others added using it. Am just pushing in this tidy up

tests/phpunit/CiviTest/CiviUnitTestCase.php
tests/phpunit/api/v3/ACLPermissionTest.php
tests/phpunit/api/v3/EntityTagACLTest.php
tests/phpunit/api/v3/ReportTemplateTest.php

index 0a167c6b5c100b6a34dee9f9bcacb269827acd91..57236d2dbbdfe6749513562ede446b92a0f7035f 100644 (file)
@@ -114,9 +114,13 @@ class CiviUnitTestCase extends PHPUnit_Extensions_Database_TestCase {
   private $tx = NULL;
 
   /**
-   * @var CRM_Utils_Hook_UnitTests hookClass
-   * example of setting a method for a hook
+   * Class used for hooks during tests.
+   *
+   * This can be used to test hooks within tests. For example in the ACL_PermissionTrait:
+   *
    * $this->hookClass->setHook('civicrm_aclWhereClause', array($this, 'aclWhereHookAllResults'));
+   *
+   * @var CRM_Utils_Hook_UnitTests hookClass
    */
   public $hookClass = NULL;
 
@@ -3575,20 +3579,6 @@ AND    ( TABLE_NAME LIKE 'civicrm_value_%' )
     $this->_ids['membership_type'] = $membershipTypeID;
   }
 
-  /**
-   * No results returned.
-   *
-   * @implements CRM_Utils_Hook::aclWhereClause
-   *
-   * @param string $type
-   * @param array $tables
-   * @param array $whereTables
-   * @param int $contactID
-   * @param string $where
-   */
-  public function aclWhereHookNoResults($type, &$tables, &$whereTables, &$contactID, &$where) {
-  }
-
   /**
    * Only specified contact returned.
    * @implements CRM_Utils_Hook::aclWhereClause
index edadb0fbb40371dd869323056db68e4ae2a39d66..aeb56c316ac82f0993a4191308667cc0397d7d5b 100644 (file)
  * @group headless
  */
 class api_v3_ACLPermissionTest extends CiviUnitTestCase {
+
+  use CRMTraits_ACL_PermissionTrait;
+
   protected $_apiversion = 3;
   public $DBResetRequired = FALSE;
   protected $_entity;
-  protected $allowedContactId = 0;
-  protected $allowedContacts = array();
 
   public function setUp() {
     parent::setUp();
@@ -442,47 +443,6 @@ class api_v3_ACLPermissionTest extends CiviUnitTestCase {
     );
   }
 
-  /**
-   * All results returned.
-   *
-   * @implements CRM_Utils_Hook::aclWhereClause
-   *
-   * @param string $type
-   * @param array $tables
-   * @param array $whereTables
-   * @param int $contactID
-   * @param string $where
-   */
-  public function aclWhereHookAllResults($type, &$tables, &$whereTables, &$contactID, &$where) {
-    $where = " (1) ";
-  }
-
-  /**
-   * All but first results returned.
-   * @implements CRM_Utils_Hook::aclWhereClause
-   * @param $type
-   * @param $tables
-   * @param $whereTables
-   * @param $contactID
-   * @param $where
-   */
-  public function aclWhereOnlySecond($type, &$tables, &$whereTables, &$contactID, &$where) {
-    $where = " contact_a.id > 1";
-  }
-
-  /**
-   * Only specified contact returned.
-   * @implements CRM_Utils_Hook::aclWhereClause
-   * @param $type
-   * @param $tables
-   * @param $whereTables
-   * @param $contactID
-   * @param $where
-   */
-  public function aclWhereOnlyOne($type, &$tables, &$whereTables, &$contactID, &$where) {
-    $where = " contact_a.id = " . $this->allowedContactId;
-  }
-
   /**
    * Basic check that an unpermissioned call keeps working and permissioned call fails.
    */
index 15dd6d1cb1166f5c55baf1f16997354f780084ac..d2aec0f8455640b452299360878baf7808e4730d 100644 (file)
@@ -42,6 +42,8 @@
  */
 class api_v3_EntityTagACLTest extends CiviUnitTestCase {
 
+  use CRMTraits_ACL_PermissionTrait;
+
   /**
    * API Version in use.
    *
@@ -212,19 +214,4 @@ class api_v3_EntityTagACLTest extends CiviUnitTestCase {
     ), ($entity == 'Contacts' ? 1 : 0));
   }
 
-  /**
-   * All results returned.
-   *
-   * @implements CRM_Utils_Hook::aclWhereClause
-   *
-   * @param string $type
-   * @param array $tables
-   * @param array $whereTables
-   * @param int $contactID
-   * @param string $where
-   */
-  public function aclWhereHookAllResults($type, &$tables, &$whereTables, &$contactID, &$where) {
-    $where = " (1) ";
-  }
-
 }
index 91dec1b9566040747471a4956a6a4dc5e504b68f..6039fea0033fc616cfde034ed509d231add943db 100644 (file)
@@ -33,6 +33,9 @@
  * @group headless
  */
 class api_v3_ReportTemplateTest extends CiviUnitTestCase {
+
+  use CRMTraits_ACL_PermissionTrait;
+
   protected $_apiversion = 3;
 
   protected $contactIDs = [];