34e8105583
* 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
54 lines
1.3 KiB
PHP
Executable File
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);
|
|
}
|
|
}
|
|
}
|