From 08bb04b520b3c4b4331477f4dc73f03a7cd64172 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=D0=90=D0=BD=D1=82=D0=BE=D0=BD=20=D0=9D=2E=20=D0=9D=D0=B8?= =?UTF-8?q?=D0=BA=D0=BE=D0=BB=D0=B0=D0=B5=D0=B2?= Date: Thu, 25 Feb 2021 19:13:26 +0300 Subject: [PATCH] =?UTF-8?q?=D0=A4=D0=B8=D0=BB=D1=8C=D1=82=D1=80=20=D0=BD?= =?UTF-8?q?=D0=BE=D0=BC=D0=B5=D1=80=D0=B0=20=D1=82=D0=B5=D0=BB=D0=B5=D1=84?= =?UTF-8?q?=D0=BE=D0=BD=D0=B0.=20=D0=A4=D0=BE=D1=80=D0=BC=D0=B0=D1=82=20?= =?UTF-8?q?=D0=B4=D0=B0=D1=82=D1=8B=20=D1=81=20=D0=BC=D0=B8=D0=BB=D0=BB?= =?UTF-8?q?=D0=B8=D1=81=D0=B5=D0=BA=D1=83=D0=BD=D0=B4=D0=B0=D0=BC=D0=B8=20?= =?UTF-8?q?=D0=9E=D0=B1=D1=80=D0=B0=D0=B1=D0=BE=D1=82=D1=87=D0=B8=D0=BA=20?= =?UTF-8?q?=D0=BA=D0=BE=D0=B4=D0=B0=20=D1=82=D0=BE=D0=B2=D0=B0=D1=80=D0=B0?= =?UTF-8?q?=20=D0=B2=20=D1=84=D0=BE=D1=80=D0=BC=D0=B0=D1=82=D0=B5=20Data?= =?UTF-8?q?=20Matrix?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- CHANGELOG.md | 5 + composer.json | 2 +- lib/Client.php | 13 +- lib/Client/BaseClient.php | 3 +- lib/Common/AbstractObject.php | 10 +- lib/Helpers/ProductCode.php | 362 ++++++++++++++++++ lib/Model/ReceiptCustomer.php | 2 +- lib/Model/ReceiptItem.php | 6 +- .../Payments/AbstractPaymentResponse.php | 2 +- .../Payments/PaymentsRequestSerializer.php | 2 +- .../Receipts/ReceiptsRequestSerializer.php | 2 +- .../Refunds/RefundsRequestSerializer.php | 2 +- tests/Common/AbstractObjectTest.php | 6 +- tests/Helpers/ProductCodeTest.php | 311 +++++++++++++++ tests/Helpers/TypeCastTest.php | 4 +- .../Notification/NotificationCanceledTest.php | 4 +- .../Notification/NotificationFactoryTest.php | 6 +- .../NotificationRefundSucceededTest.php | 2 +- .../NotificationSucceededTest.php | 4 +- .../NotificationWaitingForCaptureTest.php | 4 +- tests/Model/PaymentTest.php | 60 +-- tests/Model/ReceiptCustomerTest.php | 2 +- tests/Model/RefundTest.php | 10 +- .../Payments/AbstractPaymentResponseTest.php | 16 +- .../CreatePaymentRequestSerializerTest.php | 2 +- .../Payments/PaymentsRequestBuilderTest.php | 32 +- .../PaymentsRequestSerializerTest.php | 18 +- .../Request/Payments/PaymentsRequestTest.php | 6 +- .../Request/Payments/PaymentsResponseTest.php | 14 +- .../Refunds/AbstractRefundResponseTest.php | 6 +- .../Refunds/RefundsRequestBuilderTest.php | 16 +- .../Refunds/RefundsRequestSerializerTest.php | 10 +- tests/Request/Refunds/RefundsRequestTest.php | 40 +- tests/Request/Refunds/RefundsResponseTest.php | 10 +- 34 files changed, 842 insertions(+), 152 deletions(-) create mode 100644 lib/Helpers/ProductCode.php create mode 100644 tests/Helpers/ProductCodeTest.php diff --git a/CHANGELOG.md b/CHANGELOG.md index 2f900605..65d90734 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -1,3 +1,8 @@ +### v2.0.6 от 25.02.2021 +* Фильтр номера телефона +* Формат даты с миллисекундами +* Обработчик кода товара в формате Data Matrix + ### v2.0.5 от 15.01.2021 * Оптимизация работы с Unicode в json diff --git a/composer.json b/composer.json index c1ce69b2..dc25aadb 100644 --- a/composer.json +++ b/composer.json @@ -11,7 +11,7 @@ "email": "cms@yoomoney.ru" } ], - "version": "2.0.5", + "version": "2.0.6", "require": { "php": ">=5.3.0", "ext-curl": "*", diff --git a/lib/Client.php b/lib/Client.php index 15c3b2d0..abc136b0 100644 --- a/lib/Client.php +++ b/lib/Client.php @@ -29,6 +29,7 @@ namespace YooKassa; use Exception; use InvalidArgumentException; use YooKassa\Client\BaseClient; +use YooKassa\Common\Exceptions\ApiConnectionException; use YooKassa\Common\Exceptions\ApiException; use YooKassa\Common\Exceptions\AuthorizeException; use YooKassa\Common\Exceptions\BadApiRequestException; @@ -90,7 +91,7 @@ class Client extends BaseClient /** * Текущая версия библиотеки */ - const SDK_VERSION = '2.0.5'; + const SDK_VERSION = '2.0.6'; /** * Получить список платежей магазина. @@ -569,7 +570,7 @@ class Client extends BaseClient * * @throws ApiException * @throws BadApiRequestException - * @throws Common\Exceptions\AuthorizeException + * @throws AuthorizeException * @throws ForbiddenException * @throws InternalServerError * @throws NotFoundException @@ -610,7 +611,7 @@ class Client extends BaseClient * * @throws ApiException * @throws BadApiRequestException - * @throws Common\Exceptions\AuthorizeException + * @throws AuthorizeException * @throws ForbiddenException * @throws InternalServerError * @throws NotFoundException @@ -689,8 +690,8 @@ class Client extends BaseClient * * @throws ApiException * @throws BadApiRequestException - * @throws Common\Exceptions\ApiConnectionException - * @throws Common\Exceptions\AuthorizeException + * @throws ApiConnectionException + * @throws AuthorizeException * @throws ForbiddenException * @throws InternalServerError * @throws NotFoundException @@ -741,7 +742,7 @@ class Client extends BaseClient * * @throws ApiException * @throws BadApiRequestException - * @throws Common\Exceptions\AuthorizeException + * @throws AuthorizeException * @throws ForbiddenException * @throws InternalServerError * @throws NotFoundException diff --git a/lib/Client/BaseClient.php b/lib/Client/BaseClient.php index 9e9102ae..e08da41e 100644 --- a/lib/Client/BaseClient.php +++ b/lib/Client/BaseClient.php @@ -25,7 +25,6 @@ namespace YooKassa\Client; - use Exception; use Psr\Log\LoggerInterface; use YooKassa\Common\Exceptions\ApiConnectionException; @@ -265,7 +264,7 @@ class BaseClient return '{}'; } - if (defined('JSON_UNESCAPED_UNICODE')) { + if (defined('JSON_UNESCAPED_UNICODE') && defined('JSON_UNESCAPED_SLASHES')) { $encoded = json_encode($serializedData, JSON_UNESCAPED_UNICODE | JSON_UNESCAPED_SLASHES); } else { $encoded = self::_unescaped(json_encode($serializedData)); diff --git a/lib/Common/AbstractObject.php b/lib/Common/AbstractObject.php index a9e11adf..e2960079 100644 --- a/lib/Common/AbstractObject.php +++ b/lib/Common/AbstractObject.php @@ -26,6 +26,14 @@ namespace YooKassa\Common; +if (!defined('YOOKASSA_DATE')) { + if (version_compare(PHP_VERSION, '7.0') >= 0) { + define('YOOKASSA_DATE', "Y-m-d\TH:i:s.vP"); + } else { + define('YOOKASSA_DATE', "Y-m-d\TH:i:s.uP"); + } +} + if (!interface_exists('JsonSerializable')) { require_once dirname(__FILE__) . '/legacy_json_serializable.php'; } @@ -217,7 +225,7 @@ abstract class AbstractObject implements \ArrayAccess, \JsonSerializable } elseif (is_object($value) && $value instanceof \JsonSerializable) { return $value->jsonSerialize(); } elseif (is_object($value) && $value instanceof \DateTime) { - return $value->format(DATE_ATOM); + return $value->format(YOOKASSA_DATE); } return $value; } diff --git a/lib/Helpers/ProductCode.php b/lib/Helpers/ProductCode.php new file mode 100644 index 00000000..db57ec94 --- /dev/null +++ b/lib/Helpers/ProductCode.php @@ -0,0 +1,362 @@ +setProductCode(new \YooKassa\Helpers\ProductCode('010463003759131691sgEKKPPcS25y592FLduM/=')); + * @example array(... 'product_code' => (string)(new \YooKassa\Helpers\ProductCode('010463003759131691sgEKKPPcS25y5') ...); + * + * @link https://github.com/yoomoney/yookassa-sdk-php/blob/master/lib/Helpers/ProductCode.php + * + * Class ProductCode + * @package YooKassa\Helpers + */ +class ProductCode +{ + const PREFIX_DATA_MATRIX = '444D'; + + /** @var string Код типа маркировки */ + private $prefix; + + /** + * @var string Global Trade Item Number + * Глобальный номер товарной продукции в единой международной базе товаров GS1 https://ru.wikipedia.org/wiki/GS1 + * @example 04630037591316 + */ + private $gtin; + + /** + * @var string Серийный номер товара + * @example sgEKKPPcS25y5 + */ + private $serial; + + /** @var string Сформированный тег 1162. Формат: hex([prefix]+gtin+serial) + * @example 04 36 03 BE F5 14 73 67 45 4b 4b 50 50 63 53 32 35 79 35 + */ + private $result; + + /** @var bool Флаг использования кода типа маркировки */ + private $usePrefix = false; + + /** + * ProductCode constructor. + * @param string|null $codeDataMatrix Строка, расшифрованная из QR-кода + * @param bool|string $usePrefix Нужен ли код типа маркировки в результате + */ + public function __construct($codeDataMatrix=null, $usePrefix=false) + { + $this->preparePrefix($usePrefix); + + if (!empty($codeDataMatrix)) { + if ($this->parseCodeMatrixData($codeDataMatrix)) { + $this->result = $this->calcResult(); + } + } + } + + /** + * Возвращает Код типа маркировки + * @return string Код типа маркировки + */ + public function getPrefix() + { + return $this->prefix; + } + + /** + * Устанавливает Код типа маркировки + * @param string|int $prefix Код типа маркировки + * @return ProductCode + */ + public function setPrefix($prefix) + { + if ($prefix === null || $prefix === '') { + $this->prefix = null; + return $this; + } + + if (is_int($prefix)) { + $prefix = dechex($prefix); + } + $this->prefix = str_pad($prefix, 4, '0', STR_PAD_LEFT); + + return $this; + } + + /** + * Возвращает Глобальный номер товарной продукции + * @return string Глобальный номер товарной продукции + */ + public function getGtin() + { + return $this->gtin; + } + + /** + * Устанавливает Глобальный номер товарной продукции + * @param string$gtin Глобальный номер товарной продукции + * @return ProductCode + */ + public function setGtin($gtin) + { + if ($gtin === null || $gtin === '') { + $this->gtin = null; + } else { + $this->gtin = $gtin; + } + return $this; + } + + /** + * Возвращает Серийный номер товара + * @return string Серийный номер товара + */ + public function getSerial() + { + return $this->serial; + } + + /** + * Устанавливает Серийный номер товара + * @param string $serial Серийный номер товара + * @return ProductCode + */ + public function setSerial($serial) + { + if ($serial === null || $serial === '') { + $this->prefix = null; + } else { + $this->serial = $serial; + } + return $this; + } + + /** + * Возвращает Сформированный тег 1162. + * @return string Сформированный тег 1162. + */ + public function getResult() + { + if (!$this->result) { + $this->result = $this->calcResult(); + } + + return $this->result; + } + + /** + * Возвращает флаг использования кода типа маркировки + * @return bool + */ + public function isUsePrefix() + { + return $this->usePrefix; + } + + /** + * Устанавливает флаг использования кода типа маркировки + * @param bool $usePrefix Флаг использования кода типа маркировки + * @return ProductCode + */ + public function setUsePrefix($usePrefix) + { + $this->usePrefix = (bool)$usePrefix; + return $this; + } + + /** + * Формирует тег 1162. + * @return string|null Сформированный тег 1162. + */ + public function calcResult() + { + $result = ''; + + if (!$this->validate()) { + return $result; + } + + if ($this->isUsePrefix()) { + $result = $this->getPrefix() ?: self::PREFIX_DATA_MATRIX; + } + + $result .= $this->numToHex($this->getGtin()); + $result .= $this->strToHex($this->getSerial()); + + return $this->chunkStr($result); + } + + /** + * Устанавливает prefix и usePrefix в зависимости от входящего параметра + * @param mixed $usePrefix Код типа маркировки или bool + */ + private function preparePrefix($usePrefix) + { + if ($usePrefix) { + $this->setUsePrefix(true); + if (is_string($usePrefix) || is_int($usePrefix)) { + $this->setPrefix($usePrefix); + } else { + $this->setPrefix(self::PREFIX_DATA_MATRIX); + } + } else { + $this->setUsePrefix(false); + $this->setPrefix(null); + } + } + + /** + * Извлекает необходимые данные из строки, расшифрованной из QR-кода и устанавливает соответствующие свойства. + * Возвращает результат в виде bool + * @param string $codeDataMatrix Строки, расшифрованная из QR-кода + * @return false + */ + private function parseCodeMatrixData($codeDataMatrix) + { + $string = preg_replace('#91(.+)92(.+)#i', '', $codeDataMatrix); + preg_match('#01(\d{14})21(.+)#i', $string, $matches); + + $this->setGtin(!empty($matches[1]) ? $matches[1] : null); + $this->setSerial(!empty($matches[2]) ? $matches[2] : null); + + return $this->validate(); + } + + /** + * Проверяет заполненность необходимых свойств + * @return bool + */ + public function validate() + { + return $this->getGtin() && $this->getSerial(); + } + + /** + * Разбивает пробелами строку на пары символов и переводит в верхний регистр + * @param string $string Подготовленная к разбиению строка + * @return string + */ + private function chunkStr($string) + { + return strtoupper(trim(chunk_split($string, 2, ' '))); + } + + /** + * Переводит десятичное число в шестнадцатеричный вид и дополняет нулями до 14 символов слева + * @param string $string Входящее число (Глобальный номер товарной продукции) + * @return string + */ + private function numToHex($string) + { + return str_pad($this->base_convert($string), 14, '0', STR_PAD_LEFT); + } + + /** + * Переводит число из одной системы исчисления в другую + * Замена dechex() для 32-битных версии PHP + * + * @param string $numString + * @param int $fromBase + * @param int $toBase + * @return string + */ + private function base_convert($numString, $fromBase=10, $toBase=16) + { + $chars = "0123456789abcdefghijklmnopqrstuvwxyz"; + $toString = substr($chars, 0, $toBase); + + $length = strlen($numString); + $result = ''; + $number = array(); + + for ($i = 0; $i < $length; $i++) { + $number[$i] = strpos($chars, substr($numString, $i, 1)); + } + + do { + $divide = 0; + $newLen = 0; + for ($i = 0; $i < $length; $i++) { + $divide = $divide * $fromBase + $number[$i]; + if ($divide >= $toBase) { + $number[$newLen++] = (int)($divide / $toBase); + $divide = $divide % $toBase; + } elseif ($newLen > 0) { + $number[$newLen++] = 0; + } + } + $length = $newLen; + $result = substr($toString, $divide, 1) . $result; + } while ($newLen != 0); + + return $result; + } + + /** + * Переводит строку в шестнадцатеричный вид + * @param string $string Входящая строка (Серийный номер товара) + * @return string + */ + private function strToHex($string) + { + $hex = ''; + for ($i = 0; $i < strlen($string); $i++) { + $ord = ord($string[$i]); + $hexCode = dechex($ord); + $hex .= substr('0' . $hexCode, -2); + } + return $hex; + } + + /** + * Переводит строку из шестнадцатеричного вида в обычный + * Нужен для тестирования + * @param string $hex Входящая строка в шестнадцатеричном виде + * @return string + */ + private function hexToStr($hex) + { + $string = ''; + for ($i = 0; $i < strlen($hex) - 1; $i += 2) { + $string .= chr(hexdec($hex[$i] . $hex[$i + 1])); + } + return $string; + } + + /** + * Приводит объект к строке + * @return string + */ + public function __toString() + { + return $this->getResult(); + } + +} \ No newline at end of file diff --git a/lib/Model/ReceiptCustomer.php b/lib/Model/ReceiptCustomer.php index 48bec182..9d0442ba 100644 --- a/lib/Model/ReceiptCustomer.php +++ b/lib/Model/ReceiptCustomer.php @@ -117,7 +117,7 @@ class ReceiptCustomer extends AbstractObject implements ReceiptCustomerInterface } elseif (!TypeCast::canCastToString($value)) { throw new InvalidPropertyValueTypeException('Invalid phone value type', 0, 'receipt.customer.phone'); } else { - $this->_phone = (string)$value; + $this->_phone = (string)preg_replace('/\D/', '', $value); } } diff --git a/lib/Model/ReceiptItem.php b/lib/Model/ReceiptItem.php index 397e3909..78ecdf38 100644 --- a/lib/Model/ReceiptItem.php +++ b/lib/Model/ReceiptItem.php @@ -30,6 +30,7 @@ use YooKassa\Common\AbstractObject; use YooKassa\Common\Exceptions\EmptyPropertyValueException; use YooKassa\Common\Exceptions\InvalidPropertyValueException; use YooKassa\Common\Exceptions\InvalidPropertyValueTypeException; +use YooKassa\Helpers\ProductCode; use YooKassa\Helpers\TypeCast; use YooKassa\Model\Receipt\AgentType; use YooKassa\Model\Receipt\ReceiptItemAmount; @@ -340,12 +341,15 @@ class ReceiptItem extends AbstractObject implements ReceiptItemInterface /** * Устанавливает код товара — уникальный номер, который присваивается экземпляру товара при маркировке * - * @param string $value Код товара + * @param string|ProductCode $value Код товара * * @throws InvalidPropertyValueTypeException Выбрасывается если в качестве аргумента была передана не строка */ public function setProductCode($value) { + if ($value instanceof ProductCode) { + $value = (string)$value; + } if ($value === null || $value === '') { $this->_productCode = null; } elseif (!TypeCast::canCastToString($value)) { diff --git a/lib/Request/Payments/AbstractPaymentResponse.php b/lib/Request/Payments/AbstractPaymentResponse.php index 60115ad8..134f6d32 100644 --- a/lib/Request/Payments/AbstractPaymentResponse.php +++ b/lib/Request/Payments/AbstractPaymentResponse.php @@ -89,7 +89,7 @@ abstract class AbstractPaymentResponse extends Payment implements PaymentInterfa $this->setRecipient($recipient); } if (!empty($sourceArray['captured_at'])) { - $this->setCapturedAt(strtotime($sourceArray['captured_at'])); + $this->setCapturedAt($sourceArray['captured_at']); } if (!empty($sourceArray['expires_at'])) { $this->setExpiresAt($sourceArray['expires_at']); diff --git a/lib/Request/Payments/PaymentsRequestSerializer.php b/lib/Request/Payments/PaymentsRequestSerializer.php index 15a0efec..04882b01 100644 --- a/lib/Request/Payments/PaymentsRequestSerializer.php +++ b/lib/Request/Payments/PaymentsRequestSerializer.php @@ -64,7 +64,7 @@ class PaymentsRequestSerializer if (!empty($value)) { if ($value instanceof \DateTime) { if ($value->getTimestamp() > 1) { - $result[$name] = $value->format(DATE_ATOM); + $result[$name] = $value->format(YOOKASSA_DATE); } } else { $result[$name] = $value; diff --git a/lib/Request/Receipts/ReceiptsRequestSerializer.php b/lib/Request/Receipts/ReceiptsRequestSerializer.php index 1eac4e7e..cf3ec402 100644 --- a/lib/Request/Receipts/ReceiptsRequestSerializer.php +++ b/lib/Request/Receipts/ReceiptsRequestSerializer.php @@ -61,7 +61,7 @@ class ReceiptsRequestSerializer if (!empty($value)) { if ($value instanceof \DateTime) { if ($value->getTimestamp() > 1) { - $result[$name] = $value->format(DATE_ATOM); + $result[$name] = $value->format(YOOKASSA_DATE); } } else { $result[$name] = $value; diff --git a/lib/Request/Refunds/RefundsRequestSerializer.php b/lib/Request/Refunds/RefundsRequestSerializer.php index 00039e55..abef3ab7 100644 --- a/lib/Request/Refunds/RefundsRequestSerializer.php +++ b/lib/Request/Refunds/RefundsRequestSerializer.php @@ -60,7 +60,7 @@ class RefundsRequestSerializer if (!empty($value)) { if ($value instanceof \DateTime) { if ($value->getTimestamp() > 1) { - $result[$name] = $value->format(DATE_ATOM); + $result[$name] = $value->format(YOOKASSA_DATE); } } else { $result[$name] = $value; diff --git a/tests/Common/AbstractObjectTest.php b/tests/Common/AbstractObjectTest.php index 45e801fc..b16a737d 100644 --- a/tests/Common/AbstractObjectTest.php +++ b/tests/Common/AbstractObjectTest.php @@ -156,7 +156,7 @@ class AbstractObjectTest extends TestCase 'property' => 'propertyValue', 'property_camel_case' => array( 'property' => array('test', 1, 2, 3), - 'property_camel_case' => $date->format(DATE_ATOM), + 'property_camel_case' => $date->format(YOOKASSA_DATE), ), ); self::assertEquals($expected, $data); @@ -167,7 +167,7 @@ class AbstractObjectTest extends TestCase 'property' => 'propertyValue', 'property_camel_case' => array( 'property' => array('test', 1, 2, 3), - 'property_camel_case' => $date->format(DATE_ATOM), + 'property_camel_case' => $date->format(YOOKASSA_DATE), 'unknown_obj' => array(), ), ); @@ -185,7 +185,7 @@ class AbstractObjectTest extends TestCase $instance->unknown_date = $date; $data = $instance->jsonSerialize(); - $expected['unknown_date'] = $date->format(DATE_ATOM); + $expected['unknown_date'] = $date->format(YOOKASSA_DATE); self::assertEquals($expected, $data); $obj = new \stdClass(); diff --git a/tests/Helpers/ProductCodeTest.php b/tests/Helpers/ProductCodeTest.php new file mode 100644 index 00000000..3c7641e6 --- /dev/null +++ b/tests/Helpers/ProductCodeTest.php @@ -0,0 +1,311 @@ +getPrefix()); + + $instance->setPrefix($data['prefix']); + if (empty($data['prefix'])) { + self::assertNull($instance->getPrefix()); + } else { + self::assertNotNull($instance->getPrefix()); + } + } + + /** + * @dataProvider dataProvider + * @param mixed $data + */ + public function testSetGetGtin($data) + { + $instance = new ProductCode(); + + self::assertNull($instance->getGtin()); + + $instance->setGtin($data['gtin']); + if (empty($data['gtin'])) { + self::assertNull($instance->getGtin()); + } else { + self::assertEquals($data['gtin'], $instance->getGtin()); + } + } + + /** + * @dataProvider dataProvider + * @param mixed $data + */ + public function testSetGetUsePrefix($data) + { + $instance = new ProductCode(); + + self::assertFalse($instance->isUsePrefix()); + + $instance->setUsePrefix($data['usePrefix']); + if (empty($data['usePrefix'])) { + self::assertFalse($instance->isUsePrefix()); + } else { + self::assertTrue($instance->isUsePrefix()); + } + } + + /** + * @dataProvider dataProvider + * @param mixed $data + */ + public function testSetGetSerial($data) + { + $instance = new ProductCode(); + + self::assertNull($instance->getSerial()); + + $instance->setSerial($data['serial']); + if (empty($data['serial'])) { + self::assertNull($instance->getSerial()); + } else { + self::assertEquals($data['serial'], $instance->getSerial()); + } + } + + /** + * @dataProvider dataProvider + * @param mixed $data + */ + public function testValidate($data) + { + $instance = new ProductCode(); + + self::assertFalse($instance->validate()); + + $instance->setGtin($data['gtin']); + $instance->setSerial($data['serial']); + + if (empty($data['gtin']) || empty($data['serial'])) { + self::assertFalse($instance->validate()); + } + + if (!empty($data['gtin']) && !empty($data['serial'])) { + self::assertTrue($instance->validate()); + } + + } + + /** + * @dataProvider dataStrProvider + * @param mixed $data + * @throws \ReflectionException + */ + public function testStrHex($data) + { + $instance = new ProductCode(); + $reflection = new \ReflectionClass(get_class($instance)); + + $method = $reflection->getMethod('strToHex'); + $method->setAccessible(true); + $result1 = $method->invokeArgs($instance, array('string' => $data)); + + $method = $reflection->getMethod('hexToStr'); + $method->setAccessible(true); + $result2 = $method->invokeArgs($instance, array('string' => $result1)); + + self::assertEquals($data, $result2); + } + + /** + * @dataProvider dataNumProvider + * @param mixed $data + * @throws \ReflectionException + */ + public function testNumHex($data) + { + $instance = new ProductCode(); + $reflection = new \ReflectionClass(get_class($instance)); + + $method = $reflection->getMethod('base_convert'); + $method->setAccessible(true); + $result1 = $method->invokeArgs($instance, array('numString' => $data)); + + $method = $reflection->getMethod('base_convert'); + $method->setAccessible(true); + $result2 = $method->invokeArgs($instance, array('numString' => $result1, 'fromBase' => 16, 'toBase' => 10)); + + self::assertEquals($data, $result2); + } + + /** + * @dataProvider dataProvider + * @param mixed $data + */ + public function testGetResult($data) + { + $instance = new ProductCode(); + + self::assertEmpty($instance->getResult()); + + $instance->setGtin($data['gtin']); + $instance->setSerial($data['serial']); + $instance->setPrefix($data['prefix']); + $instance->setUsePrefix($data['usePrefix']); + + if ($instance->validate()) { + self::assertNotEmpty($instance->calcResult()); + self::assertNotEmpty($instance->getResult()); + } else { + self::assertEmpty($instance->calcResult()); + self::assertEmpty($instance->getResult()); + } + } + + /** + * @dataProvider dataProvider + * @param mixed $data + */ + public function testMagicMethods($data) + { + $instance = new ProductCode($data['dataMatrix'], $data['usePrefix'] ? $data['prefix'] : false); + + if ($instance->validate()) { + self::assertNotEmpty($instance->calcResult()); + self::assertNotEmpty($instance->getResult()); + self::assertEquals($data['result'], $instance->calcResult()); + self::assertEquals($data['result'], $instance->getResult()); + self::assertEquals($data['result'], (string)$instance); + } else { + self::assertEmpty($instance->getResult()); + self::assertEmpty($instance->getResult()); + } + + $instance2 = new ProductCode($data['dataMatrix'], $data['usePrefix'] ? $data['prefix'] : false); + + if ($instance2->validate()) { + self::assertEquals($data['result'], (string)$instance2); + } else { + self::assertEmpty($instance2->getResult()); + } + } + + public function dataProvider() + { + return array( + array( + array( + 'usePrefix' => false, + 'prefix' => null, + 'gtin' => '04630037591316', + 'serial' => 'sgEKKPPcS25y5', + 'dataMatrix' => '010463003407001221SxMGorvNuq6Wk91fgr92sdfsdfghfgjh', + 'result' => '00 04 36 03 89 39 FC 53 78 4D 47 6F 72 76 4E 75 71 36 57 6B', + ), + ), + array( + array( + 'usePrefix' => true, + 'prefix' => true, + 'gtin' => '4630037591316', + 'serial' => 'sgEKKPPcS25y5', + 'dataMatrix' => '010463003407001221SxMGorvNuq6Wk91fgr92sdfsdfghfgjh', + 'result' => '44 4D 00 04 36 03 89 39 FC 53 78 4D 47 6F 72 76 4E 75 71 36 57 6B', + ), + ), + array( + array( + 'usePrefix' => true, + 'prefix' => '0005', + 'gtin' => '04630037591316', + 'serial' => 'sgEKKPPcS25y5', + 'dataMatrix' => '010463003407001221SxMGorvNuq6Wk91fgr92sdfsdfghfgjh', + 'result' => '00 05 00 04 36 03 89 39 FC 53 78 4D 47 6F 72 76 4E 75 71 36 57 6B', + ), + ), + array( + array( + 'usePrefix' => true, + 'prefix' => 505, + 'gtin' => '04630037591316', + 'serial' => 'sgEKKPPcS25y5', + 'dataMatrix' => '010463003407001221SxMGorvNuq6Wk91fgr92sdfsdfghfgjh', + 'result' => '01 F9 00 04 36 03 89 39 FC 53 78 4D 47 6F 72 76 4E 75 71 36 57 6B', + ), + ), + array( + array( + 'usePrefix' => false, + 'prefix' => null, + 'gtin' => '98765432101234', + 'serial' => 'ABC1234', + 'dataMatrix' => '019876543210123421ABC123491DmUO92sdfJSf/"fgjh', + 'result' => '00 59 D3 9E 7F 19 72 41 42 43 31 32 33 34', + ), + ), + array( + array( + 'usePrefix' => false, + 'prefix' => null, + 'gtin' => '98765432101234', + 'serial' => 'ABC1234', + 'dataMatrix' => '019876543210123421ABC1234', + 'result' => '00 59 D3 9E 7F 19 72 41 42 43 31 32 33 34', + ), + ), + array( + array( + 'usePrefix' => false, + 'prefix' => '', + 'gtin' => '', + 'serial' => '', + 'dataMatrix' => '', + 'result' => '', + ), + ), + ); + } + + public function dataStrProvider() + { + return array( + array( + 'this is a test!', + ), + array( + 'ABC1234', + ), + array( + 'sgEKKPPcS25y5', + ), + ); + } + + public function dataNumProvider() + { + return array( + array( + '98765432101234', + ), + array( + '04630037591316', + ), + array( + '04603725748040', + ), + array( + '04603725748057', + ), + array( + '4603725748057', + ), + ); + } + +} diff --git a/tests/Helpers/TypeCastTest.php b/tests/Helpers/TypeCastTest.php index adb84aec..ba3e1ac5 100644 --- a/tests/Helpers/TypeCastTest.php +++ b/tests/Helpers/TypeCastTest.php @@ -141,8 +141,8 @@ class TypeCastTest extends TestCase $time = time(); $result[] = array($time, $time, true); - $result[] = array(date(DATE_ATOM, $time), $time, true); - $result[] = array(new \DateTime(date(DATE_ATOM, $time)), $time, true); + $result[] = array(date(YOOKASSA_DATE, $time), $time, true); + $result[] = array(new \DateTime(date(YOOKASSA_DATE, $time)), $time, true); $result[] = array('3234-234-23', $time, false); $result[] = array(array(), $time, false); diff --git a/tests/Model/Notification/NotificationCanceledTest.php b/tests/Model/Notification/NotificationCanceledTest.php index b60ffc30..872362de 100644 --- a/tests/Model/Notification/NotificationCanceledTest.php +++ b/tests/Model/Notification/NotificationCanceledTest.php @@ -89,8 +89,8 @@ class NotificationCanceledTest extends \PHPUnit_Framework_TestCase 'payment_method' => array( 'type' => PaymentMethodType::QIWI, ), - 'created_at' => date(DATE_ATOM, Random::int(1, time())), - 'captured_at' => date(DATE_ATOM, Random::int(1, time())), + 'created_at' => date(YOOKASSA_DATE, Random::int(1, time())), + 'captured_at' => date(YOOKASSA_DATE, Random::int(1, time())), 'confirmation' => Random::value($confirmations), 'refunded' => array( 'value' => Random::float(0.01, 1000000.0), diff --git a/tests/Model/Notification/NotificationFactoryTest.php b/tests/Model/Notification/NotificationFactoryTest.php index eafff556..62ec5c57 100644 --- a/tests/Model/Notification/NotificationFactoryTest.php +++ b/tests/Model/Notification/NotificationFactoryTest.php @@ -106,7 +106,7 @@ class NotificationFactoryTest extends TestCase 'value' => Random::float(0.01, 1000000.0), 'currency' => Random::value(CurrencyCode::getValidValues()), ), - 'created_at' => date(DATE_ATOM, Random::int(1, time())), + 'created_at' => date(YOOKASSA_DATE, Random::int(1, time())), 'receipt_registration' => Random::value($receiptRegistrations), 'description' => Random::str(1, 128), ); @@ -152,8 +152,8 @@ class NotificationFactoryTest extends TestCase 'payment_method' => array( 'type' => PaymentMethodType::QIWI, ), - 'created_at' => date(DATE_ATOM, Random::int(1, time())), - 'captured_at' => date(DATE_ATOM, Random::int(1, time())), + 'created_at' => date(YOOKASSA_DATE, Random::int(1, time())), + 'captured_at' => date(YOOKASSA_DATE, Random::int(1, time())), 'confirmation' => Random::value($confirmations), 'refunded' => array( 'value' => Random::float(0.01, 1000000.0), diff --git a/tests/Model/Notification/NotificationRefundSucceededTest.php b/tests/Model/Notification/NotificationRefundSucceededTest.php index 6be06b5c..18883551 100644 --- a/tests/Model/Notification/NotificationRefundSucceededTest.php +++ b/tests/Model/Notification/NotificationRefundSucceededTest.php @@ -72,7 +72,7 @@ class NotificationRefundSucceededTest extends AbstractNotificationTest 'value' => Random::float(0.01, 1000000.0), 'currency' => Random::value(CurrencyCode::getValidValues()), ), - 'created_at' => date(DATE_ATOM, Random::int(1, time())), + 'created_at' => date(YOOKASSA_DATE, Random::int(1, time())), 'receipt_registration' => Random::value($receiptRegistrations), 'description' => Random::str(1, 128), ); diff --git a/tests/Model/Notification/NotificationSucceededTest.php b/tests/Model/Notification/NotificationSucceededTest.php index 90340bd0..b6052bf5 100644 --- a/tests/Model/Notification/NotificationSucceededTest.php +++ b/tests/Model/Notification/NotificationSucceededTest.php @@ -89,8 +89,8 @@ class NotificationSucceededTest extends AbstractNotificationTest 'payment_method' => array( 'type' => PaymentMethodType::QIWI, ), - 'created_at' => date(DATE_ATOM, Random::int(1, time())), - 'captured_at' => date(DATE_ATOM, Random::int(1, time())), + 'created_at' => date(YOOKASSA_DATE, Random::int(1, time())), + 'captured_at' => date(YOOKASSA_DATE, Random::int(1, time())), 'confirmation' => Random::value($confirmations), 'refunded' => array( 'value' => Random::float(0.01, 1000000.0), diff --git a/tests/Model/Notification/NotificationWaitingForCaptureTest.php b/tests/Model/Notification/NotificationWaitingForCaptureTest.php index acadf86a..0d8f9474 100644 --- a/tests/Model/Notification/NotificationWaitingForCaptureTest.php +++ b/tests/Model/Notification/NotificationWaitingForCaptureTest.php @@ -85,8 +85,8 @@ class NotificationWaitingForCaptureTest extends AbstractNotificationTest 'payment_method' => array( 'type' => PaymentMethodType::QIWI, ), - 'created_at' => date(DATE_ATOM, Random::int(1, time())), - 'captured_at' => date(DATE_ATOM, Random::int(1, time())), + 'created_at' => date(YOOKASSA_DATE, Random::int(1, time())), + 'captured_at' => date(YOOKASSA_DATE, Random::int(1, time())), 'confirmation' => Random::value($confirmations), 'refunded' => array( 'value' => Random::float(0.01, 1000000.0), diff --git a/tests/Model/PaymentTest.php b/tests/Model/PaymentTest.php index e8ae424e..b83ecbbf 100644 --- a/tests/Model/PaymentTest.php +++ b/tests/Model/PaymentTest.php @@ -281,21 +281,21 @@ class PaymentTest extends TestCase self::assertNull($instance->created_at); $instance->setCreatedAt($options['created_at']); - self::assertSame($options['created_at'], $instance->getCreatedAt()->format(DATE_ATOM)); - self::assertSame($options['created_at'], $instance->createdAt->format(DATE_ATOM)); - self::assertSame($options['created_at'], $instance->created_at->format(DATE_ATOM)); + self::assertSame($options['created_at'], $instance->getCreatedAt()->format(YOOKASSA_DATE)); + self::assertSame($options['created_at'], $instance->createdAt->format(YOOKASSA_DATE)); + self::assertSame($options['created_at'], $instance->created_at->format(YOOKASSA_DATE)); $instance = new Payment(); $instance->createdAt = $options['created_at']; - self::assertSame($options['created_at'], $instance->getCreatedAt()->format(DATE_ATOM)); - self::assertSame($options['created_at'], $instance->createdAt->format(DATE_ATOM)); - self::assertSame($options['created_at'], $instance->created_at->format(DATE_ATOM)); + self::assertSame($options['created_at'], $instance->getCreatedAt()->format(YOOKASSA_DATE)); + self::assertSame($options['created_at'], $instance->createdAt->format(YOOKASSA_DATE)); + self::assertSame($options['created_at'], $instance->created_at->format(YOOKASSA_DATE)); $instance = new Payment(); $instance->created_at = $options['created_at']; - self::assertSame($options['created_at'], $instance->getCreatedAt()->format(DATE_ATOM)); - self::assertSame($options['created_at'], $instance->createdAt->format(DATE_ATOM)); - self::assertSame($options['created_at'], $instance->created_at->format(DATE_ATOM)); + self::assertSame($options['created_at'], $instance->getCreatedAt()->format(YOOKASSA_DATE)); + self::assertSame($options['created_at'], $instance->createdAt->format(YOOKASSA_DATE)); + self::assertSame($options['created_at'], $instance->created_at->format(YOOKASSA_DATE)); } /** @@ -349,9 +349,9 @@ class PaymentTest extends TestCase self::assertNull($instance->capturedAt); self::assertNull($instance->captured_at); } else { - self::assertSame($options['captured_at'], $instance->getCapturedAt()->format(DATE_ATOM)); - self::assertSame($options['captured_at'], $instance->capturedAt->format(DATE_ATOM)); - self::assertSame($options['captured_at'], $instance->captured_at->format(DATE_ATOM)); + self::assertSame($options['captured_at'], $instance->getCapturedAt()->format(YOOKASSA_DATE)); + self::assertSame($options['captured_at'], $instance->capturedAt->format(YOOKASSA_DATE)); + self::assertSame($options['captured_at'], $instance->captured_at->format(YOOKASSA_DATE)); } $instance = new Payment(); @@ -361,9 +361,9 @@ class PaymentTest extends TestCase self::assertNull($instance->capturedAt); self::assertNull($instance->captured_at); } else { - self::assertSame($options['captured_at'], $instance->getCapturedAt()->format(DATE_ATOM)); - self::assertSame($options['captured_at'], $instance->capturedAt->format(DATE_ATOM)); - self::assertSame($options['captured_at'], $instance->captured_at->format(DATE_ATOM)); + self::assertSame($options['captured_at'], $instance->getCapturedAt()->format(YOOKASSA_DATE)); + self::assertSame($options['captured_at'], $instance->capturedAt->format(YOOKASSA_DATE)); + self::assertSame($options['captured_at'], $instance->captured_at->format(YOOKASSA_DATE)); } $instance = new Payment(); @@ -373,9 +373,9 @@ class PaymentTest extends TestCase self::assertNull($instance->capturedAt); self::assertNull($instance->captured_at); } else { - self::assertSame($options['captured_at'], $instance->getCapturedAt()->format(DATE_ATOM)); - self::assertSame($options['captured_at'], $instance->capturedAt->format(DATE_ATOM)); - self::assertSame($options['captured_at'], $instance->captured_at->format(DATE_ATOM)); + self::assertSame($options['captured_at'], $instance->getCapturedAt()->format(YOOKASSA_DATE)); + self::assertSame($options['captured_at'], $instance->capturedAt->format(YOOKASSA_DATE)); + self::assertSame($options['captured_at'], $instance->captured_at->format(YOOKASSA_DATE)); } } @@ -755,9 +755,9 @@ class PaymentTest extends TestCase : Random::str(1, Payment::MAX_LENGTH_DESCRIPTION)))), 'payment_method' => new PaymentMethodQiwi(), 'reference_id' => ($i == 0 ? null : ($i == 1 ? '' : Random::str(10, 20, 'abcdef0123456789'))), - 'created_at' => date(DATE_ATOM, mt_rand(1, time())), - 'captured_at' => ($i == 0 ? null : ($i == 1 ? '' : date(DATE_ATOM, mt_rand(1, time())))), - 'expires_at' => ($i == 0 ? null : ($i == 1 ? '' : date(DATE_ATOM, mt_rand(1, time())))), + 'created_at' => date(YOOKASSA_DATE, mt_rand(1, time())), + 'captured_at' => ($i == 0 ? null : ($i == 1 ? '' : date(YOOKASSA_DATE, mt_rand(1, time())))), + 'expires_at' => ($i == 0 ? null : ($i == 1 ? '' : date(YOOKASSA_DATE, mt_rand(1, time())))), 'confirmation' => new ConfirmationRedirect(), 'charge' => new MonetaryAmount(), 'income' => new MonetaryAmount(), @@ -866,9 +866,9 @@ class PaymentTest extends TestCase self::assertNull($instance->expiresAt); self::assertNull($instance->expires_at); } else { - self::assertSame($options['expires_at'], $instance->getExpiresAt()->format(DATE_ATOM)); - self::assertSame($options['expires_at'], $instance->expiresAt->format(DATE_ATOM)); - self::assertSame($options['expires_at'], $instance->expires_at->format(DATE_ATOM)); + self::assertSame($options['expires_at'], $instance->getExpiresAt()->format(YOOKASSA_DATE)); + self::assertSame($options['expires_at'], $instance->expiresAt->format(YOOKASSA_DATE)); + self::assertSame($options['expires_at'], $instance->expires_at->format(YOOKASSA_DATE)); } $instance = new Payment(); @@ -878,9 +878,9 @@ class PaymentTest extends TestCase self::assertNull($instance->expiresAt); self::assertNull($instance->expires_at); } else { - self::assertSame($options['expires_at'], $instance->getExpiresAt()->format(DATE_ATOM)); - self::assertSame($options['expires_at'], $instance->expiresAt->format(DATE_ATOM)); - self::assertSame($options['expires_at'], $instance->expires_at->format(DATE_ATOM)); + self::assertSame($options['expires_at'], $instance->getExpiresAt()->format(YOOKASSA_DATE)); + self::assertSame($options['expires_at'], $instance->expiresAt->format(YOOKASSA_DATE)); + self::assertSame($options['expires_at'], $instance->expires_at->format(YOOKASSA_DATE)); } $instance = new Payment(); @@ -890,9 +890,9 @@ class PaymentTest extends TestCase self::assertNull($instance->expiresAt); self::assertNull($instance->expires_at); } else { - self::assertSame($options['expires_at'], $instance->getExpiresAt()->format(DATE_ATOM)); - self::assertSame($options['expires_at'], $instance->expiresAt->format(DATE_ATOM)); - self::assertSame($options['expires_at'], $instance->expires_at->format(DATE_ATOM)); + self::assertSame($options['expires_at'], $instance->getExpiresAt()->format(YOOKASSA_DATE)); + self::assertSame($options['expires_at'], $instance->expiresAt->format(YOOKASSA_DATE)); + self::assertSame($options['expires_at'], $instance->expires_at->format(YOOKASSA_DATE)); } } diff --git a/tests/Model/ReceiptCustomerTest.php b/tests/Model/ReceiptCustomerTest.php index 829bf839..107b9ac5 100644 --- a/tests/Model/ReceiptCustomerTest.php +++ b/tests/Model/ReceiptCustomerTest.php @@ -391,7 +391,7 @@ class ReceiptCustomerTest extends TestCase $customer = new ReceiptCustomer(); $customer->setFullName('John Doe'); $customer->setEmail('johndoe@yoomoney.ru'); - $customer->setPhone('79000000000'); + $customer->setPhone('+79000000000'); $customer->setInn('6321341814'); return array( diff --git a/tests/Model/RefundTest.php b/tests/Model/RefundTest.php index 2d6a615a..db620df4 100644 --- a/tests/Model/RefundTest.php +++ b/tests/Model/RefundTest.php @@ -298,13 +298,13 @@ class RefundTest extends TestCase { return array( array(new \DateTime()), - array(new \DateTime(date(DATE_ATOM, Random::int(1, time())))), + array(new \DateTime(date(YOOKASSA_DATE, Random::int(1, time())))), array(time()), array(Random::int(1, time())), - array(date(DATE_ATOM)), - array(date(DATE_ATOM, Random::int(1, time()))), - array(new StringObject(date(DATE_ATOM))), - array(new StringObject(date(DATE_ATOM, Random::int(1, time())))), + array(date(YOOKASSA_DATE)), + array(date(YOOKASSA_DATE, Random::int(1, time()))), + array(new StringObject(date(YOOKASSA_DATE))), + array(new StringObject(date(YOOKASSA_DATE, Random::int(1, time())))), ); } diff --git a/tests/Request/Payments/AbstractPaymentResponseTest.php b/tests/Request/Payments/AbstractPaymentResponseTest.php index aff36e33..92bda122 100644 --- a/tests/Request/Payments/AbstractPaymentResponseTest.php +++ b/tests/Request/Payments/AbstractPaymentResponseTest.php @@ -96,7 +96,7 @@ abstract class AbstractPaymentResponseTest extends TestCase if (empty($options['created_at'])) { self::assertNull($instance->getCreatedAt()); } else { - self::assertEquals($options['created_at'], $instance->getCreatedAt()->format(DATE_ATOM)); + self::assertEquals($options['created_at'], $instance->getCreatedAt()->format(YOOKASSA_DATE)); } } @@ -110,7 +110,7 @@ abstract class AbstractPaymentResponseTest extends TestCase if (empty($options['captured_at'])) { self::assertNull($instance->getCapturedAt()); } else { - self::assertEquals($options['captured_at'], $instance->getCapturedAt()->format(DATE_ATOM)); + self::assertEquals($options['captured_at'], $instance->getCapturedAt()->format(YOOKASSA_DATE)); } } @@ -263,9 +263,9 @@ abstract class AbstractPaymentResponseTest extends TestCase 'payment_method' => array( 'type' => Random::value(PaymentMethodType::getEnabledValues()), ), - 'created_at' => date(DATE_ATOM, Random::int(1, time())), - 'captured_at' => date(DATE_ATOM, Random::int(1, time())), - 'expires_at' => date(DATE_ATOM, Random::int(1, time())), + 'created_at' => date(YOOKASSA_DATE, Random::int(1, time())), + 'captured_at' => date(YOOKASSA_DATE, Random::int(1, time())), + 'expires_at' => date(YOOKASSA_DATE, Random::int(1, time())), 'confirmation' => Random::value($confirmations), 'refunded_amount' => array( 'value' => Random::float(0.01, 1000000.0), @@ -316,9 +316,9 @@ abstract class AbstractPaymentResponseTest extends TestCase 'payment_method' => array( 'type' => PaymentMethodType::WECHAT, ), - 'created_at' => date(DATE_ATOM, Random::int(1, time())), - 'captured_at' => date(DATE_ATOM, Random::int(1, time())), - 'expires_at' => date(DATE_ATOM, Random::int(1, time())), + 'created_at' => date(YOOKASSA_DATE, Random::int(1, time())), + 'captured_at' => date(YOOKASSA_DATE, Random::int(1, time())), + 'expires_at' => date(YOOKASSA_DATE, Random::int(1, time())), 'requestor' => array( 'type' => 'RequestorThirdPartyService', 'client_id' => Random::int(100000, 999999), diff --git a/tests/Request/Payments/CreatePaymentRequestSerializerTest.php b/tests/Request/Payments/CreatePaymentRequestSerializerTest.php index 24e0e09e..0347e3ac 100644 --- a/tests/Request/Payments/CreatePaymentRequestSerializerTest.php +++ b/tests/Request/Payments/CreatePaymentRequestSerializerTest.php @@ -60,7 +60,7 @@ class CreatePaymentRequestSerializerTest extends TestCase if (isset($options[$field])) { $value = $options[$field]; if (!empty($value)) { - $expected[$mapped] = $value instanceof \DateTime ? $value->format(DATE_ATOM) : $value; + $expected[$mapped] = $value instanceof \DateTime ? $value->format(YOOKASSA_DATE) : $value; } } } diff --git a/tests/Request/Payments/PaymentsRequestBuilderTest.php b/tests/Request/Payments/PaymentsRequestBuilderTest.php index 402a1f44..df6f6086 100644 --- a/tests/Request/Payments/PaymentsRequestBuilderTest.php +++ b/tests/Request/Payments/PaymentsRequestBuilderTest.php @@ -45,7 +45,7 @@ class PaymentsRequestBuilderTest extends TestCase if (empty($options['createdAtGte'])) { self::assertNull($instance->getCreatedAtGte()); } else { - self::assertEquals($options['createdAtGte'], $instance->getCreatedAtGte()->format(DATE_ATOM)); + self::assertEquals($options['createdAtGte'], $instance->getCreatedAtGte()->format(YOOKASSA_DATE)); } } @@ -66,7 +66,7 @@ class PaymentsRequestBuilderTest extends TestCase if (empty($options['createdAtGt'])) { self::assertNull($instance->getCreatedAtGt()); } else { - self::assertEquals($options['createdAtGt'], $instance->getCreatedAtGt()->format(DATE_ATOM)); + self::assertEquals($options['createdAtGt'], $instance->getCreatedAtGt()->format(YOOKASSA_DATE)); } } @@ -87,7 +87,7 @@ class PaymentsRequestBuilderTest extends TestCase if (empty($options['createdAtLte'])) { self::assertNull($instance->getCreatedAtLte()); } else { - self::assertEquals($options['createdAtLte'], $instance->getCreatedAtLte()->format(DATE_ATOM)); + self::assertEquals($options['createdAtLte'], $instance->getCreatedAtLte()->format(YOOKASSA_DATE)); } } @@ -107,7 +107,7 @@ class PaymentsRequestBuilderTest extends TestCase if (empty($options['createdAtLt'])) { self::assertNull($instance->getCreatedAtLt()); } else { - self::assertEquals($options['createdAtLt'], $instance->getCreatedAtLt()->format(DATE_ATOM)); + self::assertEquals($options['createdAtLt'], $instance->getCreatedAtLt()->format(YOOKASSA_DATE)); } } @@ -127,7 +127,7 @@ class PaymentsRequestBuilderTest extends TestCase if (empty($options['capturedAtGte'])) { self::assertNull($instance->getCapturedAtGte()); } else { - self::assertEquals($options['capturedAtGte'], $instance->getCapturedAtGte()->format(DATE_ATOM)); + self::assertEquals($options['capturedAtGte'], $instance->getCapturedAtGte()->format(YOOKASSA_DATE)); } } @@ -148,7 +148,7 @@ class PaymentsRequestBuilderTest extends TestCase if (empty($options['capturedAtGt'])) { self::assertNull($instance->getCapturedAtGt()); } else { - self::assertEquals($options['capturedAtGt'], $instance->getCapturedAtGt()->format(DATE_ATOM)); + self::assertEquals($options['capturedAtGt'], $instance->getCapturedAtGt()->format(YOOKASSA_DATE)); } } @@ -169,7 +169,7 @@ class PaymentsRequestBuilderTest extends TestCase if (empty($options['capturedAtLte'])) { self::assertNull($instance->getCapturedAtLte()); } else { - self::assertEquals($options['capturedAtLte'], $instance->getCapturedAtLte()->format(DATE_ATOM)); + self::assertEquals($options['capturedAtLte'], $instance->getCapturedAtLte()->format(YOOKASSA_DATE)); } } @@ -189,7 +189,7 @@ class PaymentsRequestBuilderTest extends TestCase if (empty($options['capturedAtLt'])) { self::assertNull($instance->getCapturedAtLt()); } else { - self::assertEquals($options['capturedAtLt'], $instance->getCapturedAtLt()->format(DATE_ATOM)); + self::assertEquals($options['capturedAtLt'], $instance->getCapturedAtLt()->format(YOOKASSA_DATE)); } } @@ -294,14 +294,14 @@ class PaymentsRequestBuilderTest extends TestCase $methods = PaymentMethodType::getValidValues(); for ($i = 0; $i < 10; $i++) { $request = array( - 'createdAtGte' => date(DATE_ATOM, mt_rand(1, time())), - 'createdAtGt' => date(DATE_ATOM, mt_rand(1, time())), - 'createdAtLte' => date(DATE_ATOM, mt_rand(1, time())), - 'createdAtLt' => date(DATE_ATOM, mt_rand(1, time())), - 'capturedAtGte' => date(DATE_ATOM, mt_rand(1, time())), - 'capturedAtGt' => date(DATE_ATOM, mt_rand(1, time())), - 'capturedAtLte' => date(DATE_ATOM, mt_rand(1, time())), - 'capturedAtLt' => date(DATE_ATOM, mt_rand(1, time())), + 'createdAtGte' => date(YOOKASSA_DATE, mt_rand(1, time())), + 'createdAtGt' => date(YOOKASSA_DATE, mt_rand(1, time())), + 'createdAtLte' => date(YOOKASSA_DATE, mt_rand(1, time())), + 'createdAtLt' => date(YOOKASSA_DATE, mt_rand(1, time())), + 'capturedAtGte' => date(YOOKASSA_DATE, mt_rand(1, time())), + 'capturedAtGt' => date(YOOKASSA_DATE, mt_rand(1, time())), + 'capturedAtLte' => date(YOOKASSA_DATE, mt_rand(1, time())), + 'capturedAtLt' => date(YOOKASSA_DATE, mt_rand(1, time())), 'paymentMethod' => $methods[mt_rand(0, count($methods) - 1)], 'status' => $statuses[mt_rand(0, count($statuses) - 1)], 'limit' => mt_rand(1, 100), diff --git a/tests/Request/Payments/PaymentsRequestSerializerTest.php b/tests/Request/Payments/PaymentsRequestSerializerTest.php index 8d44eaa7..92af2119 100644 --- a/tests/Request/Payments/PaymentsRequestSerializerTest.php +++ b/tests/Request/Payments/PaymentsRequestSerializerTest.php @@ -39,7 +39,7 @@ class PaymentsRequestSerializerTest extends TestCase if (isset($options[$field])) { $value = $options[$field]; if (!empty($value)) { - $expected[$mapped] = $value instanceof \DateTime ? $value->format(DATE_ATOM) : $value; + $expected[$mapped] = $value instanceof \DateTime ? $value->format(YOOKASSA_DATE) : $value; } } } @@ -73,14 +73,14 @@ class PaymentsRequestSerializerTest extends TestCase $methods = PaymentMethodType::getValidValues(); for ($i = 0; $i < 10; $i++) { $request = array( - 'createdAtGte' => date(DATE_ATOM, mt_rand(1, time())), - 'createdAtGt' => date(DATE_ATOM, mt_rand(1, time())), - 'createdAtLte' => date(DATE_ATOM, mt_rand(1, time())), - 'createdAtLt' => date(DATE_ATOM, mt_rand(1, time())), - 'capturedAtGte' => date(DATE_ATOM, mt_rand(1, time())), - 'capturedAtGt' => date(DATE_ATOM, mt_rand(1, time())), - 'capturedAtLte' => date(DATE_ATOM, mt_rand(1, time())), - 'capturedAtLt' => date(DATE_ATOM, mt_rand(1, time())), + 'createdAtGte' => date(YOOKASSA_DATE, mt_rand(1, time())), + 'createdAtGt' => date(YOOKASSA_DATE, mt_rand(1, time())), + 'createdAtLte' => date(YOOKASSA_DATE, mt_rand(1, time())), + 'createdAtLt' => date(YOOKASSA_DATE, mt_rand(1, time())), + 'capturedAtGte' => date(YOOKASSA_DATE, mt_rand(1, time())), + 'capturedAtGt' => date(YOOKASSA_DATE, mt_rand(1, time())), + 'capturedAtLte' => date(YOOKASSA_DATE, mt_rand(1, time())), + 'capturedAtLt' => date(YOOKASSA_DATE, mt_rand(1, time())), 'paymentMethod' => $methods[mt_rand(0, count($methods) - 1)], 'status' => $statuses[mt_rand(0, count($statuses) - 1)], 'limit' => mt_rand(1, 100), diff --git a/tests/Request/Payments/PaymentsRequestTest.php b/tests/Request/Payments/PaymentsRequestTest.php index 65a81fea..4f68f51c 100644 --- a/tests/Request/Payments/PaymentsRequestTest.php +++ b/tests/Request/Payments/PaymentsRequestTest.php @@ -76,9 +76,9 @@ class PaymentsRequestTest extends TestCase ); $expected = null; if ($value instanceof \DateTime) { - $expected = $value->format(DATE_ATOM); + $expected = $value->format(YOOKASSA_DATE); } elseif (is_numeric($value)) { - $expected = date(DATE_ATOM, $value); + $expected = date(YOOKASSA_DATE, $value); } else { $expected = $value; } @@ -260,7 +260,7 @@ class PaymentsRequestTest extends TestCase array(null), array(''), array(Random::int(0, time())), - array(date(DATE_ATOM, Random::int(0, time()))), + array(date(YOOKASSA_DATE, Random::int(0, time()))), array(new \DateTime()), ); } diff --git a/tests/Request/Payments/PaymentsResponseTest.php b/tests/Request/Payments/PaymentsResponseTest.php index 432d8a4f..1510997f 100644 --- a/tests/Request/Payments/PaymentsResponseTest.php +++ b/tests/Request/Payments/PaymentsResponseTest.php @@ -31,7 +31,7 @@ class PaymentsResponseTest extends TestCase self::assertEquals($options['items'][$index]['status'], $item->getStatus()); self::assertEquals($options['items'][$index]['amount']['value'], $item->getAmount()->getValue()); self::assertEquals($options['items'][$index]['amount']['currency'], $item->getAmount()->getCurrency()); - self::assertEquals($options['items'][$index]['created_at'], $item->getCreatedAt()->format(DATE_ATOM)); + self::assertEquals($options['items'][$index]['created_at'], $item->getCreatedAt()->format(YOOKASSA_DATE)); self::assertEquals($options['items'][$index]['payment_method']['type'], $item->getPaymentMethod()->getType()); self::assertEquals($options['items'][$index]['paid'], $item->getPaid()); self::assertEquals($options['items'][$index]['refundable'], $item->getRefundable()); @@ -85,7 +85,7 @@ class PaymentsResponseTest extends TestCase 'currency' => CurrencyCode::EUR, ), 'description' => Random::str(20), - 'created_at' => date(DATE_ATOM), + 'created_at' => date(YOOKASSA_DATE), 'payment_method' => array( 'type' => PaymentMethodType::QIWI, ), @@ -106,7 +106,7 @@ class PaymentsResponseTest extends TestCase 'value' => Random::int(1, 100000), 'currency' => CurrencyCode::EUR, ), - 'created_at' => date(DATE_ATOM), + 'created_at' => date(YOOKASSA_DATE), 'payment_method' => array( 'type' => PaymentMethodType::QIWI, ), @@ -124,7 +124,7 @@ class PaymentsResponseTest extends TestCase 'currency' => CurrencyCode::EUR, ), 'description' => Random::str(20), - 'created_at' => date(DATE_ATOM), + 'created_at' => date(YOOKASSA_DATE), 'payment_method' => array( 'type' => PaymentMethodType::QIWI, ), @@ -135,7 +135,7 @@ class PaymentsResponseTest extends TestCase 'gateway_id' => uniqid(), ), 'reference_id' => uniqid(), - 'captured_at' => date(DATE_ATOM), + 'captured_at' => date(YOOKASSA_DATE), 'charge' => array('value' => Random::int(1, 100000), 'currency' => CurrencyCode::RUB), 'income' => array('value' => Random::int(1, 100000), 'currency' => CurrencyCode::USD), 'refunded' => array('value' => Random::int(1, 100000), 'currency' => CurrencyCode::EUR), @@ -163,7 +163,7 @@ class PaymentsResponseTest extends TestCase 'currency' => CurrencyCode::EUR, ), 'description' => Random::str(20), - 'created_at' => date(DATE_ATOM), + 'created_at' => date(YOOKASSA_DATE), 'payment_method' => array( 'type' => PaymentMethodType::QIWI, ), @@ -184,7 +184,7 @@ class PaymentsResponseTest extends TestCase 'currency' => CurrencyCode::EUR, ), 'description' => Random::str(20), - 'created_at' => date(DATE_ATOM), + 'created_at' => date(YOOKASSA_DATE), 'payment_method' => array( 'type' => PaymentMethodType::QIWI, ), diff --git a/tests/Request/Refunds/AbstractRefundResponseTest.php b/tests/Request/Refunds/AbstractRefundResponseTest.php index 7c13c1cf..35b6b759 100644 --- a/tests/Request/Refunds/AbstractRefundResponseTest.php +++ b/tests/Request/Refunds/AbstractRefundResponseTest.php @@ -58,7 +58,7 @@ abstract class AbstractRefundResponseTest extends TestCase { $instance = $this->getTestInstance($options); self::assertTrue($instance->getCreatedAt() instanceof \DateTime); - self::assertEquals($options['created_at'], $instance->getCreatedAt()->format(DATE_ATOM)); + self::assertEquals($options['created_at'], $instance->getCreatedAt()->format(YOOKASSA_DATE)); } /** @@ -125,8 +125,8 @@ abstract class AbstractRefundResponseTest extends TestCase 'id' => Random::str(36), 'payment_id' => Random::str(36), 'status' => Random::value(RefundStatus::getValidValues()), - 'created_at' => date(DATE_ATOM, mt_rand(1, time())), - 'authorized_at' => date(DATE_ATOM, mt_rand(1, time())), + 'created_at' => date(YOOKASSA_DATE, mt_rand(1, time())), + 'authorized_at' => date(YOOKASSA_DATE, mt_rand(1, time())), 'amount' => array( 'value' => mt_rand(100, 100000), 'currency' => Random::value(CurrencyCode::getValidValues()), diff --git a/tests/Request/Refunds/RefundsRequestBuilderTest.php b/tests/Request/Refunds/RefundsRequestBuilderTest.php index 4f9a785b..83d15437 100644 --- a/tests/Request/Refunds/RefundsRequestBuilderTest.php +++ b/tests/Request/Refunds/RefundsRequestBuilderTest.php @@ -45,7 +45,7 @@ class RefundsRequestBuilderTest extends TestCase if (empty($options['createAtGte'])) { self::assertNull($instance->getCreatedAtGte()); } else { - self::assertEquals($options['createAtGte'], $instance->getCreatedAtGte()->format(DATE_ATOM)); + self::assertEquals($options['createAtGte'], $instance->getCreatedAtGte()->format(YOOKASSA_DATE)); } } @@ -65,7 +65,7 @@ class RefundsRequestBuilderTest extends TestCase if (empty($options['createAtGt'])) { self::assertNull($instance->getCreatedAtGt()); } else { - self::assertEquals($options['createAtGt'], $instance->getCreatedAtGt()->format(DATE_ATOM)); + self::assertEquals($options['createAtGt'], $instance->getCreatedAtGt()->format(YOOKASSA_DATE)); } } @@ -85,7 +85,7 @@ class RefundsRequestBuilderTest extends TestCase if (empty($options['createAtLte'])) { self::assertNull($instance->getCreatedAtLte()); } else { - self::assertEquals($options['createAtLte'], $instance->getCreatedAtLte()->format(DATE_ATOM)); + self::assertEquals($options['createAtLte'], $instance->getCreatedAtLte()->format(YOOKASSA_DATE)); } } @@ -105,7 +105,7 @@ class RefundsRequestBuilderTest extends TestCase if (empty($options['createAtLt'])) { self::assertNull($instance->getCreatedAtLt()); } else { - self::assertEquals($options['createAtLt'], $instance->getCreatedAtLt()->format(DATE_ATOM)); + self::assertEquals($options['createAtLt'], $instance->getCreatedAtLt()->format(YOOKASSA_DATE)); } } @@ -201,10 +201,10 @@ class RefundsRequestBuilderTest extends TestCase for ($i = 0; $i < 10; $i++) { $request = array( 'paymentId' => $this->randomString(36), - 'createAtGte' => date(DATE_ATOM, mt_rand(1, time())), - 'createAtGt' => date(DATE_ATOM, mt_rand(1, time())), - 'createAtLte' => date(DATE_ATOM, mt_rand(1, time())), - 'createAtLt' => date(DATE_ATOM, mt_rand(1, time())), + 'createAtGte' => date(YOOKASSA_DATE, mt_rand(1, time())), + 'createAtGt' => date(YOOKASSA_DATE, mt_rand(1, time())), + 'createAtLte' => date(YOOKASSA_DATE, mt_rand(1, time())), + 'createAtLt' => date(YOOKASSA_DATE, mt_rand(1, time())), 'status' => $statuses[mt_rand(0, count($statuses) - 1)], 'cursor' => uniqid(), 'limit' => mt_rand(1, RefundsRequest::MAX_LIMIT_VALUE), diff --git a/tests/Request/Refunds/RefundsRequestSerializerTest.php b/tests/Request/Refunds/RefundsRequestSerializerTest.php index d19fd019..6226acd9 100644 --- a/tests/Request/Refunds/RefundsRequestSerializerTest.php +++ b/tests/Request/Refunds/RefundsRequestSerializerTest.php @@ -34,7 +34,7 @@ class RefundsRequestSerializerTest extends TestCase if (isset($options[$field])) { $value = $options[$field]; if (!empty($value)) { - $expected[$mapped] = $value instanceof \DateTime ? $value->format(DATE_ATOM) : $value; + $expected[$mapped] = $value instanceof \DateTime ? $value->format(YOOKASSA_DATE) : $value; } } } @@ -66,10 +66,10 @@ class RefundsRequestSerializerTest extends TestCase for ($i = 0; $i < 10; $i++) { $request = array( 'paymentId' => $this->randomString(36), - 'createAtGte' => date(DATE_ATOM, mt_rand(1, time())), - 'createAtGt' => date(DATE_ATOM, mt_rand(1, time())), - 'createAtLte' => date(DATE_ATOM, mt_rand(1, time())), - 'createAtLt' => date(DATE_ATOM, mt_rand(1, time())), + 'createAtGte' => date(YOOKASSA_DATE, mt_rand(1, time())), + 'createAtGt' => date(YOOKASSA_DATE, mt_rand(1, time())), + 'createAtLte' => date(YOOKASSA_DATE, mt_rand(1, time())), + 'createAtLt' => date(YOOKASSA_DATE, mt_rand(1, time())), 'status' => $statuses[mt_rand(0, count($statuses) - 1)], 'cursor' => uniqid(), 'limit' => mt_rand(1, RefundsRequest::MAX_LIMIT_VALUE), diff --git a/tests/Request/Refunds/RefundsRequestTest.php b/tests/Request/Refunds/RefundsRequestTest.php index 15db4c02..807331ed 100644 --- a/tests/Request/Refunds/RefundsRequestTest.php +++ b/tests/Request/Refunds/RefundsRequestTest.php @@ -105,8 +105,8 @@ class RefundsRequestTest extends TestCase self::assertNull($instance->createdAtGte); } else { self::assertTrue($instance->hasCreatedAtGte()); - self::assertEquals($options['created_at_gte'], $instance->getCreatedAtGte()->format(DATE_ATOM)); - self::assertEquals($options['created_at_gte'], $instance->createdAtGte->format(DATE_ATOM)); + self::assertEquals($options['created_at_gte'], $instance->getCreatedAtGte()->format(YOOKASSA_DATE)); + self::assertEquals($options['created_at_gte'], $instance->createdAtGte->format(YOOKASSA_DATE)); } $instance->setCreatedAtGte(''); @@ -121,8 +121,8 @@ class RefundsRequestTest extends TestCase self::assertNull($instance->createdAtGte); } else { self::assertTrue($instance->hasCreatedAtGte()); - self::assertEquals($options['created_at_gte'], $instance->getCreatedAtGte()->format(DATE_ATOM)); - self::assertEquals($options['created_at_gte'], $instance->createdAtGte->format(DATE_ATOM)); + self::assertEquals($options['created_at_gte'], $instance->getCreatedAtGte()->format(YOOKASSA_DATE)); + self::assertEquals($options['created_at_gte'], $instance->createdAtGte->format(YOOKASSA_DATE)); } } @@ -167,8 +167,8 @@ class RefundsRequestTest extends TestCase self::assertNull($instance->createdAtGte); } else { self::assertTrue($instance->hasCreatedAtGt()); - self::assertEquals($options['created_at_gt'], $instance->getCreatedAtGt()->format(DATE_ATOM)); - self::assertEquals($options['created_at_gt'], $instance->createdAtGt->format(DATE_ATOM)); + self::assertEquals($options['created_at_gt'], $instance->getCreatedAtGt()->format(YOOKASSA_DATE)); + self::assertEquals($options['created_at_gt'], $instance->createdAtGt->format(YOOKASSA_DATE)); } $instance->setCreatedAtGt(''); @@ -183,8 +183,8 @@ class RefundsRequestTest extends TestCase self::assertNull($instance->createdAtGt); } else { self::assertTrue($instance->hasCreatedAtGt()); - self::assertEquals($options['created_at_gt'], $instance->getCreatedAtGt()->format(DATE_ATOM)); - self::assertEquals($options['created_at_gt'], $instance->createdAtGt->format(DATE_ATOM)); + self::assertEquals($options['created_at_gt'], $instance->getCreatedAtGt()->format(YOOKASSA_DATE)); + self::assertEquals($options['created_at_gt'], $instance->createdAtGt->format(YOOKASSA_DATE)); } } @@ -229,8 +229,8 @@ class RefundsRequestTest extends TestCase self::assertNull($instance->createdAtLte); } else { self::assertTrue($instance->hasCreatedAtLte()); - self::assertEquals($options['created_at_lte'], $instance->getCreatedAtLte()->format(DATE_ATOM)); - self::assertEquals($options['created_at_lte'], $instance->createdAtLte->format(DATE_ATOM)); + self::assertEquals($options['created_at_lte'], $instance->getCreatedAtLte()->format(YOOKASSA_DATE)); + self::assertEquals($options['created_at_lte'], $instance->createdAtLte->format(YOOKASSA_DATE)); } $instance->setCreatedAtLte(''); @@ -245,8 +245,8 @@ class RefundsRequestTest extends TestCase self::assertNull($instance->createdAtLte); } else { self::assertTrue($instance->hasCreatedAtLte()); - self::assertEquals($options['created_at_lte'], $instance->getCreatedAtLte()->format(DATE_ATOM)); - self::assertEquals($options['created_at_lte'], $instance->createdAtLte->format(DATE_ATOM)); + self::assertEquals($options['created_at_lte'], $instance->getCreatedAtLte()->format(YOOKASSA_DATE)); + self::assertEquals($options['created_at_lte'], $instance->createdAtLte->format(YOOKASSA_DATE)); } } @@ -291,8 +291,8 @@ class RefundsRequestTest extends TestCase self::assertNull($instance->createdAtLt); } else { self::assertTrue($instance->hasCreatedAtLt()); - self::assertEquals($options['created_at_lt'], $instance->getCreatedAtLt()->format(DATE_ATOM)); - self::assertEquals($options['created_at_lt'], $instance->createdAtLt->format(DATE_ATOM)); + self::assertEquals($options['created_at_lt'], $instance->getCreatedAtLt()->format(YOOKASSA_DATE)); + self::assertEquals($options['created_at_lt'], $instance->createdAtLt->format(YOOKASSA_DATE)); } $instance->setCreatedAtLt(''); @@ -307,8 +307,8 @@ class RefundsRequestTest extends TestCase self::assertNull($instance->createdAtLt); } else { self::assertTrue($instance->hasCreatedAtLt()); - self::assertEquals($options['created_at_lt'], $instance->getCreatedAtLt()->format(DATE_ATOM)); - self::assertEquals($options['created_at_lt'], $instance->createdAtLt->format(DATE_ATOM)); + self::assertEquals($options['created_at_lt'], $instance->getCreatedAtLt()->format(YOOKASSA_DATE)); + self::assertEquals($options['created_at_lt'], $instance->createdAtLt->format(YOOKASSA_DATE)); } } @@ -526,10 +526,10 @@ class RefundsRequestTest extends TestCase $statuses = RefundStatus::getValidValues(); for ($i = 0; $i < 10; $i++) { $request = array( - 'created_at_gte' => date(DATE_ATOM, mt_rand(1, time())), - 'created_at_gt' => date(DATE_ATOM, mt_rand(1, time())), - 'created_at_lte' => date(DATE_ATOM, mt_rand(1, time())), - 'created_at_lt' => date(DATE_ATOM, mt_rand(1, time())), + 'created_at_gte' => date(YOOKASSA_DATE, mt_rand(1, time())), + 'created_at_gt' => date(YOOKASSA_DATE, mt_rand(1, time())), + 'created_at_lte' => date(YOOKASSA_DATE, mt_rand(1, time())), + 'created_at_lt' => date(YOOKASSA_DATE, mt_rand(1, time())), 'status' => $statuses[mt_rand(0, count($statuses) - 1)], 'payment_id' => $this->randomString(36), 'limit' => mt_rand(0, RefundsRequest::MAX_LIMIT_VALUE), diff --git a/tests/Request/Refunds/RefundsResponseTest.php b/tests/Request/Refunds/RefundsResponseTest.php index 5bc83184..ec35a71e 100644 --- a/tests/Request/Refunds/RefundsResponseTest.php +++ b/tests/Request/Refunds/RefundsResponseTest.php @@ -28,7 +28,7 @@ class RefundsResponseTest extends TestCase self::assertEquals($options['items'][$index]['status'], $item->getStatus()); self::assertEquals($options['items'][$index]['amount']['value'], $item->getAmount()->getValue()); self::assertEquals($options['items'][$index]['amount']['currency'], $item->getAmount()->getCurrency()); - self::assertEquals($options['items'][$index]['created_at'], $item->getCreatedAt()->format(DATE_ATOM)); + self::assertEquals($options['items'][$index]['created_at'], $item->getCreatedAt()->format(YOOKASSA_DATE)); } } @@ -79,7 +79,7 @@ class RefundsResponseTest extends TestCase 'value' => Random::int(1, 100), 'currency' => Random::value(CurrencyCode::getValidValues()), ), - 'created_at' => date(DATE_ATOM, Random::int(0, time())), + 'created_at' => date(YOOKASSA_DATE, Random::int(0, time())), ) ), 'next_cursor' => Random::str(1, 64), @@ -96,7 +96,7 @@ class RefundsResponseTest extends TestCase 'value' => Random::int(1, 100), 'currency' => Random::value(CurrencyCode::getValidValues()), ), - 'created_at' => date(DATE_ATOM), + 'created_at' => date(YOOKASSA_DATE), ), array( 'id' => Random::str(36), @@ -106,8 +106,8 @@ class RefundsResponseTest extends TestCase 'value' => Random::int(1, 100), 'currency' => Random::value(CurrencyCode::getValidValues()), ), - 'created_at' => date(DATE_ATOM, Random::int(0, time())), - 'authorized_at' => date(DATE_ATOM, Random::int(0, time())), + 'created_at' => date(YOOKASSA_DATE, Random::int(0, time())), + 'authorized_at' => date(YOOKASSA_DATE, Random::int(0, time())), 'receipt_registered' => Random::value(ReceiptRegistrationStatus::getValidValues()), 'description' => Random::str(64, 250), ),