dev/core#2645 Change column definition for preferred_mail_format field
authorakosgarai <szlem01@gmail.com>
Wed, 16 Jun 2021 12:47:28 +0000 (14:47 +0200)
committerakosgarai <szlem01@gmail.com>
Thu, 17 Jun 2021 06:38:11 +0000 (08:38 +0200)
A localized value for this field does not fit into the original varchar(8)

dev/core#2645 Update testcases

CRM/Export/BAO/ExportProcessor.php
tests/phpunit/CRM/Export/BAO/ExportTest.php

index fff50a8dad1e8cfd6d91a3e2542f23ee9b01192a..f134e0eaff2dfcee90a918c32a0d660467139a0e 100644 (file)
@@ -1464,7 +1464,16 @@ class CRM_Export_BAO_ExportProcessor {
 
         case CRM_Utils_Type::T_STRING:
           if (isset($fieldSpec['maxlength'])) {
-            return "`$fieldName` varchar({$fieldSpec['maxlength']})";
+            // A localized string for the preferred_mail_format does not fit
+            // into the varchar(8) field.
+            // @see https://lab.civicrm.org/dev/core/-/issues/2645
+            switch ($fieldName) {
+              case 'preferred_mail_format':
+                return "`$fieldName` varchar(16)";
+
+              default:
+                return "`$fieldName` varchar({$fieldSpec['maxlength']})";
+            }
           }
           $dataType = $fieldSpec['data_type'] ?? '';
           // set the sql columns for custom data
index 1c8dd99a8b2e1dad1e6919cca6227e4bb085439a..690bee27979dd088fcbd193a9ef3436f231c5fa9 100644 (file)
@@ -2555,7 +2555,7 @@ class CRM_Export_BAO_ExportTest extends CiviUnitTestCase {
       'image_url' => '`image_url` longtext',
       'preferred_communication_method' => '`preferred_communication_method` varchar(255)',
       'preferred_language' => '`preferred_language` varchar(5)',
-      'preferred_mail_format' => '`preferred_mail_format` varchar(8)',
+      'preferred_mail_format' => '`preferred_mail_format` varchar(16)',
       'hash' => '`hash` varchar(32)',
       'contact_source' => '`contact_source` varchar(255)',
       'first_name' => '`first_name` varchar(64)',
@@ -2743,7 +2743,7 @@ class CRM_Export_BAO_ExportTest extends CiviUnitTestCase {
       'image_url' => '`image_url` longtext',
       'preferred_communication_method' => '`preferred_communication_method` varchar(255)',
       'preferred_language' => '`preferred_language` varchar(5)',
-      'preferred_mail_format' => '`preferred_mail_format` varchar(8)',
+      'preferred_mail_format' => '`preferred_mail_format` varchar(16)',
       'hash' => '`hash` varchar(32)',
       'contact_source' => '`contact_source` varchar(255)',
       'first_name' => '`first_name` varchar(64)',