X-Git-Url: https://vcs.fsf.org/?a=blobdiff_plain;f=Civi%2FTest%2FApi3TestTrait.php;h=5be0bc9ae3270511e6872ec18e06dc6309f3b882;hb=6b1506ee3970ed5ee7621dfb2dd504947637254f;hp=ed3557babe9622f3f507d4d54f38c29cd6f20531;hpb=9170f16e6dc53344a00d0e35af7a7088c82eb0ac;p=civicrm-core.git diff --git a/Civi/Test/Api3TestTrait.php b/Civi/Test/Api3TestTrait.php index ed3557babe..5be0bc9ae3 100644 --- a/Civi/Test/Api3TestTrait.php +++ b/Civi/Test/Api3TestTrait.php @@ -173,7 +173,7 @@ trait Api3TestTrait { /** * This function exists to wrap api getValue function & check the result - * so we can ensure they succeed & throw exceptions without litterering the test with checks + * so we can ensure they succeed & throw exceptions without littering the test with checks * There is a type check in this * * @param string $entity @@ -260,7 +260,6 @@ trait Api3TestTrait { public function callAPISuccessGetValue($entity, $params, $type = NULL) { $params += [ 'version' => $this->_apiversion, - 'debug' => 1, ]; $result = $this->civicrm_api($entity, 'getvalue', $params); if (is_array($result) && (!empty($result['is_error']) || isset($result['values']))) { @@ -405,6 +404,9 @@ trait Api3TestTrait { $v3Params['option_group.name'] = $v3Params['option_group_id']; unset($v3Params['option_group_id']); } + if (isset($field['pseudoconstant'], $v3Params[$name]) && $field['type'] === \CRM_Utils_Type::T_INT && !is_numeric($v3Params[$name])) { + $v3Params[$name] = \CRM_Core_PseudoConstant::getKey(\CRM_Core_DAO_AllCoreTables::getFullName($v3Entity), $name, $v3Params[$name]); + } } switch ($v3Action) { @@ -423,10 +425,9 @@ trait Api3TestTrait { $v4Params['select'][] = 'id'; } // Convert join syntax - foreach ($v4Params['select'] as &$select) { + foreach ($v4Params['select'] as $idx => $select) { if (strstr($select, '_id.')) { - $joins[$select] = explode('.', str_replace('_id.', '.', $select)); - $select = str_replace('_id.', '.', $select); + $joins[$select] = $v4Params['select'][$idx] = str_replace('_id.', '.', $select); } } } @@ -596,8 +597,8 @@ trait Api3TestTrait { $result[$index][$key] = $this->runApi4LegacyChain($key, $params, $v4Entity, $row, $sequential); } // Convert join format - foreach ($joins as $api3Key => $api4Path) { - $result[$index][$api3Key] = \CRM_Utils_Array::pathGet($result[$index], $api4Path); + foreach ($joins as $api3Key => $api4Key) { + $result[$index][$api3Key] = $result[$index][$api4Key] ?? NULL; } // Resolve custom field names foreach ($custom as $group => $fields) {