Test preparatory cleanup
authoreileen <emcnaughton@wikimedia.org>
Tue, 25 Apr 2017 22:01:15 +0000 (10:01 +1200)
committereileen <emcnaughton@wikimedia.org>
Tue, 25 Apr 2017 22:15:58 +0000 (10:15 +1200)
tests/phpunit/CRM/Activity/BAO/ActivityTest.php
tests/phpunit/CRM/Activity/BAO/activities_for_dashboard_count.xml
tests/phpunit/CiviTest/CiviUnitTestCase.php
tests/phpunit/api/v3/ACLPermissionTest.php

index 644e175b375e94f576b5dc5c6839e37c806354eb..ea42c1f0517f4f94cce9f73bb0de9adce070831a 100644 (file)
@@ -7,12 +7,18 @@
 class CRM_Activity_BAO_ActivityTest extends CiviUnitTestCase {
   public function setUp() {
     parent::setUp();
+    $this->prepareForACLs();
+    CRM_Core_Config::singleton()->userPermissionClass->permissions = array('view all contacts', 'access CiviCRM');
   }
 
+  /**
+   * Clean up after tests.
+   */
   public function tearDown() {
-    // truncate a few tables
-    $tablesToTruncate = array('civicrm_contact', 'civicrm_activity', 'civicrm_activity_contact');
+    $tablesToTruncate = array('civicrm_activity', 'civicrm_activity_contact');
     $this->quickCleanup($tablesToTruncate);
+    $this->cleanUpAfterACLs();
+    parent::tearDown();
   }
 
   /**
@@ -33,8 +39,7 @@ class CRM_Activity_BAO_ActivityTest extends CiviUnitTestCase {
       'subject', 'Database check for created activity.'
     );
 
-    // Now call create() to modify an existing Activity
-
+    // Now call create() to modify an existing Activity.
     $params = array(
       'id' => $activityId,
       'source_contact_id' => $contactId,
@@ -114,11 +119,11 @@ class CRM_Activity_BAO_ActivityTest extends CiviUnitTestCase {
 
     CRM_Activity_BAO_Activity::create($params);
 
-    $activityId = $this->assertDBNotNull('CRM_Activity_DAO_Activity', 'Scheduling Meeting', 'id',
+    $this->assertDBNotNull('CRM_Activity_DAO_Activity', 'Scheduling Meeting', 'id',
       'subject', 'Database check for created activity.'
     );
 
-    $activityTargetId = $this->assertDBNotNull('CRM_Activity_DAO_ActivityContact', $targetContactId,
+    $this->assertDBNotNull('CRM_Activity_DAO_ActivityContact', $targetContactId,
       'id', 'contact_id',
       'Database check for created activity target.'
     );
@@ -163,11 +168,11 @@ class CRM_Activity_BAO_ActivityTest extends CiviUnitTestCase {
 
     CRM_Activity_BAO_Activity::create($params);
 
-    $activityId = $this->assertDBNotNull('CRM_Activity_DAO_Activity', 'Scheduling Meeting', 'id',
+    $this->assertDBNotNull('CRM_Activity_DAO_Activity', 'Scheduling Meeting', 'id',
       'subject', 'Database check for created activity.'
     );
 
-    $activityTargetId = $this->assertDBNotNull('CRM_Activity_DAO_ActivityContact', $targetContactId,
+    $this->assertDBNotNull('CRM_Activity_DAO_ActivityContact', $targetContactId,
       'id', 'contact_id',
       'Database check for created activity target.'
     );
@@ -214,7 +219,7 @@ class CRM_Activity_BAO_ActivityTest extends CiviUnitTestCase {
       'subject', 'Database check for created activity.'
     );
 
-    $activityTargetId = $this->assertDBNotNull('CRM_Activity_DAO_ActivityContact', $targetContactId,
+    $this->assertDBNotNull('CRM_Activity_DAO_ActivityContact', $targetContactId,
       'id', 'contact_id',
       'Database check for created activity target.'
     );
@@ -256,7 +261,7 @@ class CRM_Activity_BAO_ActivityTest extends CiviUnitTestCase {
       'subject', 'Database check for created activity.'
     );
 
-    $activityAssignmentId = $this->assertDBNotNull('CRM_Activity_DAO_ActivityContact',
+    $this->assertDBNotNull('CRM_Activity_DAO_ActivityContact',
       $assigneeContactId, 'id', 'contact_id',
       'Database check for created activity assignment.'
     );
@@ -274,7 +279,7 @@ class CRM_Activity_BAO_ActivityTest extends CiviUnitTestCase {
   /**
    * Test getActivities BAO method for getting count.
    */
-  public function testGetActivitiesCountforAdminDashboard() {
+  public function testGetActivitiesCountForAdminDashboard() {
     $op = new PHPUnit_Extensions_Database_Operation_Insert();
     $op->execute($this->_dbconn,
       $this->createFlatXMLDataSet(
@@ -381,7 +386,7 @@ class CRM_Activity_BAO_ActivityTest extends CiviUnitTestCase {
 
     $activities = $obj->getContactActivity();
     // This should include activities of type Meeting only.
-    foreach ($activities['data'] as $key => $value) {
+    foreach ($activities['data'] as $value) {
       $this->assertContains('Meeting', $value['activity_type']);
     }
     unset($_GET['activity_type_id']);
@@ -389,7 +394,7 @@ class CRM_Activity_BAO_ActivityTest extends CiviUnitTestCase {
     $_GET['activity_type_exclude_id'] = 1;
     $activities = $obj->getContactActivity();
     // None of the activities should be of type Meeting.
-    foreach ($activities['data'] as $key => $value) {
+    foreach ($activities['data'] as $value) {
       $this->assertNotEquals('Meeting', $value['activity_type']);
     }
   }
@@ -425,7 +430,7 @@ class CRM_Activity_BAO_ActivityTest extends CiviUnitTestCase {
   /**
    * Test getActivities BAO method.
    */
-  public function testGetActivitiesforAdminDashboard() {
+  public function testGetActivitiesForAdminDashboard() {
     $op = new PHPUnit_Extensions_Database_Operation_Insert();
     $op->execute($this->_dbconn,
       $this->createFlatXMLDataSet(
@@ -506,10 +511,11 @@ class CRM_Activity_BAO_ActivityTest extends CiviUnitTestCase {
   public function testTargetCountforContactSummary() {
     $targetCount = 5;
     $contactId = $this->individualCreate();
+    $targetContactIDs = array();
     for ($i = 0; $i < $targetCount; $i++) {
       $targetContactIDs[] = $this->individualCreate(array(), $i);
     }
-    // create activities with 5 target contacts
+    // Create activities with 5 target contacts.
     $activityParams = array(
       'source_contact_id' => $contactId,
       'target_contact_id' => $targetContactIDs,
@@ -733,7 +739,6 @@ class CRM_Activity_BAO_ActivityTest extends CiviUnitTestCase {
     $formAddress = CRM_Case_BAO_Case::getReceiptFrom($activity['id']);
     $expectedFromAddress = sprintf("%s <%s>", $sourceDisplayName, $sourceContactParams['email']);
     $this->assertEquals($expectedFromAddress, $formAddress);
-    // ----------------------- End of Case 1 ---------------------------
 
     // Case 2: System Default From Address
     //  but first erase the email address of existing source contact ID
@@ -762,7 +767,6 @@ class CRM_Activity_BAO_ActivityTest extends CiviUnitTestCase {
     // TODO: due to unknown reason the following assertion fails on
     //   test.civicrm.org test build but works fine on local
     // $this->assertEquals($expectedFromAddress, $formAddress);
-    // ----------------------- End of Case 2 ---------------------------
 
     // TODO: Case 4 about checking the $formAddress on basis of logged contact ID respectively needs,
     //  to change the domain setting, which isn't straight forward in test environment
index 4ce2c20d4a0ef7f65f699c4ac9bff1c84cbc2e7e..f954a3b7e47b66d5c4ee7c99e3a4e786d3ccba61 100644 (file)
@@ -1,26 +1,6 @@
 <?xml version="1.0" encoding="UTF-8" ?>
 <!--  $Id: dataset.xml 23301 2009-08-17 13:02:24Z walt $  -->
 <dataset>
-    <!--  Source Contact for Activity: 1 -->
-    <civicrm_contact
-        id="1"
-        contact_type="Individual"
-        is_opt_out="0"
-        display_name="Test Contact 1"
-        sort_name="Test Contact 1"
-        first_name="Test"
-        last_name="Contact 1"
-    />
-    <!--  Source Contact for Activity: 2 -->
-    <civicrm_contact
-        id="2"
-        contact_type="Individual"
-        is_opt_out="0"
-        display_name="Test Contact 2"
-        sort_name="Test Contact 2"
-        first_name="Test"
-        last_name="Contact 2"
-    />
     <!-- Source Contact for Activity: 3 -->
     <civicrm_contact
         id="3"
index 20845448a5ec77e80b1c3956ee7f374ea1e6dd34..4082bc15e5e8f44f8067ced332869413773a5bf5 100644 (file)
@@ -1804,6 +1804,29 @@ class CiviUnitTestCase extends PHPUnit_Extensions_Database_TestCase {
     return $result['id'];
   }
 
+  /**
+   * Prepare class for ACLs.
+   */
+  protected function prepareForACLs() {
+    $config = CRM_Core_Config::singleton();
+    $config->userPermissionClass->permissions = array();
+  }
+
+  /**
+   * Reset after ACLs.
+   */
+  protected function cleanUpAfterACLs() {
+    CRM_Utils_Hook::singleton()->reset();
+    $tablesToTruncate = array(
+      'civicrm_acl',
+      'civicrm_acl_cache',
+      'civicrm_acl_entity_role',
+      'civicrm_acl_contact_cache',
+    );
+    $this->quickCleanup($tablesToTruncate);
+    $config = CRM_Core_Config::singleton();
+    unset($config->userPermissionClass->permissions);
+  }
   /**
    * Create a smart group.
    *
index 6d86ad8f870531a390cabd9c4c404eeb172786ef..1618a1942147ed1df9c33f93722aa3934aa89a33 100644 (file)
@@ -44,8 +44,7 @@ class api_v3_ACLPermissionTest extends CiviUnitTestCase {
     $baoObj = new CRM_Core_DAO();
     $baoObj->createTestObject('CRM_Pledge_BAO_Pledge', array(), 1, 0);
     $baoObj->createTestObject('CRM_Core_BAO_Phone', array(), 1, 0);
-    $config = CRM_Core_Config::singleton();
-    $config->userPermissionClass->permissions = array();
+    $this->prepareForACLs();
   }
 
   /**
@@ -53,7 +52,7 @@ class api_v3_ACLPermissionTest extends CiviUnitTestCase {
    * @see CiviUnitTestCase::tearDown()
    */
   public function tearDown() {
-    CRM_Utils_Hook::singleton()->reset();
+    $this->cleanUpAfterACLs();
     $tablesToTruncate = array(
       'civicrm_contact',
       'civicrm_group_contact',
@@ -72,8 +71,6 @@ class api_v3_ACLPermissionTest extends CiviUnitTestCase {
       'civicrm_tag',
     );
     $this->quickCleanup($tablesToTruncate);
-    $config = CRM_Core_Config::singleton();
-    unset($config->userPermissionClass->permissions);
   }
 
   /**