1
0
mirror of synced 2024-11-30 09:16:06 +03:00
bitrix-module/tests/helpers/Helpers.php
Сергей Чазов 34e8105583
Loyalty (#241)
* Loyalty program
* fix dot bug for shops-exoprt option
* delete credantials request from services
* add CurlException for credentials catch
* add catching CurlException
* edit error msgs
* add supportind double bonuses
* add any step for bonus-input field in sale.order.ajax template
* recalculate bonuses
* fix bonus rounded
* strtoupper for params in icml
* change delivery service code
2022-03-02 15:40:53 +03:00

54 lines
1.3 KiB
PHP
Executable File

<?php
namespace Tests\Intaro\RetailCrm;
use Intaro\RetailCrm\Component\ConfigProvider;
class Helpers
{
/** @var \ReflectionClass */
private static $configReflection;
/**
* Sets property into config provider
*
* @param string $propertyName
* @param mixed $value
*
* @throws \ReflectionException
*/
public static function setConfigProperty(string $propertyName, $value)
{
static::regenerateConfigReflection();
$property = static::$configReflection->getProperty($propertyName);
$property->setAccessible(true);
$property->setValue($value);
}
/**
* Sets property into config provider
*
* @param string $propertyName
*
* @return mixed
* @throws \ReflectionException
*/
public static function getConfigProperty(string $propertyName): mixed
{
static::regenerateConfigReflection();
$property = static::$configReflection->getProperty($propertyName);
$property->setAccessible(true);
return $property->getValue();
}
/**
* Regenerates config reflection
*/
protected static function regenerateConfigReflection(): void
{
if (null === static::$configReflection) {
static::$configReflection = new \ReflectionClass(ConfigProvider::class);
}
}
}