Move testCustomFileField out of transactional class
authorColeman Watts <coleman@civicrm.org>
Fri, 6 Feb 2015 15:07:36 +0000 (10:07 -0500)
committerColeman Watts <coleman@civicrm.org>
Fri, 6 Feb 2015 15:07:36 +0000 (10:07 -0500)
tests/phpunit/CiviTest/CiviUnitTestCase.php
tests/phpunit/api/v3/AttachmentTest.php
tests/phpunit/api/v3/CustomFieldTest.php

index bffe25a7bed751364376c51ac876ef0a4712b8e1..7e007b38dbae1acf1a33b76b862e380d099de2a0 100755 (executable)
@@ -3277,4 +3277,20 @@ AND    ( TABLE_NAME LIKE 'civicrm_value_%' )
     }
   }
 
+  /**
+   * @param $exists
+   * @param array $apiResult
+   */
+  protected function assertAttachmentExistence($exists, $apiResult) {
+    $fileId = $apiResult['id'];
+    $this->assertTrue(is_numeric($fileId));
+    $this->assertEquals($exists, file_exists($apiResult['values'][$fileId]['path']));
+    $this->assertDBQuery($exists ? 1 : 0, 'SELECT count(*) FROM civicrm_file WHERE id = %1', array(
+      1 => array($fileId, 'Int'),
+    ));
+    $this->assertDBQuery($exists ? 1 : 0, 'SELECT count(*) FROM civicrm_entity_file WHERE id = %1', array(
+      1 => array($fileId, 'Int'),
+    ));
+  }
+
 }
index cb3bd10471748282b19aa993109c5d201bdc86d6..830ffe239c86a5e85175076e0a55a044d5022a57 100644 (file)
@@ -552,57 +552,6 @@ class api_v3_AttachmentTest extends CiviUnitTestCase {
     $this->assertAttachmentExistence(FALSE, $createResults['delme']['second']);
   }
 
-  /**
-   *
-   */
-  public function testCustomFileField() {
-    $customGroup = $this->customGroupCreate(array('title' => 'attachment_test_group'));
-    $params = array(
-      'custom_group_id' => $customGroup['id'],
-      'name' => 'test_file_attachment',
-      'label' => 'test_file_attachment',
-      'html_type' => 'File',
-      'data_type' => 'File',
-      'is_active' => 1,
-    );
-    $customField = $this->callAPISuccess('custom_field', 'create', $params);
-    $cfId = 'custom_' . $customField['id'];
-
-    $cid = $this->individualCreate();
-
-    $attachment = $this->callAPISuccess('attachment', 'create', array(
-      'name' => self::getFilePrefix() . 'testCustomFileField.txt',
-      'mime_type' => 'text/plain',
-      'content' => 'My test content',
-      'field_name' => $cfId,
-      'entity_id' => $cid,
-    ));
-    $this->assertAttachmentExistence(TRUE, $attachment);
-
-    $result = $this->callAPISuccess('contact', 'getsingle', array(
-      'id' => $cid,
-      'return' => $cfId,
-    ));
-
-    $this->assertEquals($attachment['id'], $result[$cfId]);
-  }
-
-  /**
-   * @param $exists
-   * @param array $apiResult
-   */
-  protected function assertAttachmentExistence($exists, $apiResult) {
-    $fileId = $apiResult['id'];
-    $this->assertTrue(is_numeric($fileId));
-    $this->assertEquals($exists, file_exists($apiResult['values'][$fileId]['path']));
-    $this->assertDBQuery($exists ? 1 : 0, 'SELECT count(*) FROM civicrm_file WHERE id = %1', array(
-      1 => array($fileId, 'Int'),
-    ));
-    $this->assertDBQuery($exists ? 1 : 0, 'SELECT count(*) FROM civicrm_entity_file WHERE id = %1', array(
-      1 => array($fileId, 'Int'),
-    ));
-  }
-
   /**
    * @param $name
    * @return string
index 9c4a61d405fd48191f22aa278497cf5e66f13bc1..0252bd18a6f827be1a7d54fc56574935edf9ceca 100644 (file)
@@ -46,10 +46,11 @@ class api_v3_CustomFieldTest extends CiviUnitTestCase {
 
   public function tearDown() {
     $tablesToTruncate = array(
-      'civicrm_custom_group',
-      'civicrm_custom_field',
+      'civicrm_contact',
+      'civicrm_file',
+      'civicrm_entity_file',
     );
-    // true tells quickCleanup to drop any tables that might have been created in the test
+    // true tells quickCleanup to drop custom_value tables that might have been created in the test
     $this->quickCleanup($tablesToTruncate, TRUE);
   }
 
@@ -491,6 +492,43 @@ class api_v3_CustomFieldTest extends CiviUnitTestCase {
     }
   }
 
+  /**
+   * Test setting and getting a custom file field value.
+   *
+   * Uses the "attachment" api for setting value.
+   */
+  public function testCustomFileField() {
+    $customGroup = $this->customGroupCreate(array('title' => 'attachment_test_group'));
+    $params = array(
+      'custom_group_id' => $customGroup['id'],
+      'name' => 'test_file_attachment',
+      'label' => 'test_file_attachment',
+      'html_type' => 'File',
+      'data_type' => 'File',
+      'is_active' => 1,
+    );
+    $customField = $this->callAPISuccess('custom_field', 'create', $params);
+    $cfId = 'custom_' . $customField['id'];
+
+    $cid = $this->individualCreate();
+
+    $attachment = $this->callAPISuccess('attachment', 'create', array(
+      'name' => CRM_Utils_String::createRandom(5, CRM_Utils_String::ALPHANUMERIC) . '_testCustomFileField.txt',
+      'mime_type' => 'text/plain',
+      'content' => 'My test content',
+      'field_name' => $cfId,
+      'entity_id' => $cid,
+    ));
+    $this->assertAttachmentExistence(TRUE, $attachment);
+
+    $result = $this->callAPISuccess('contact', 'getsingle', array(
+      'id' => $cid,
+      'return' => $cfId,
+    ));
+
+    $this->assertEquals($attachment['id'], $result[$cfId]);
+  }
+
   /**
    * @param $getFieldsResult
    *