From a6adf451d61d56b219ef0d826416ad82897e71ba Mon Sep 17 00:00:00 2001 From: elly Date: Wed, 11 Nov 2026 15:51:20 +0300 Subject: [PATCH] =?UTF-8?q?=D0=94=D0=BE=D0=B1=D0=B0=D0=B2=D0=BB=D0=B5?= =?UTF-8?q?=D0=BD=D0=BE=20=D0=BF=D0=BE=D0=BB=D0=B5=20allowdublicate?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- src/Model/Entity/Settings/BooleanValue.php | 38 +++++++++++++++++++ src/Model/Entity/Settings/OrderSettings.php | 29 +++++++++++++++ src/Model/Entity/Settings/Settings.php | 8 ++++ tests/src/ResourceGroup/SettingsTest.php | 41 +++++++++++++++++++++ 4 files changed, 116 insertions(+) create mode 100644 src/Model/Entity/Settings/BooleanValue.php create mode 100644 src/Model/Entity/Settings/OrderSettings.php diff --git a/src/Model/Entity/Settings/BooleanValue.php b/src/Model/Entity/Settings/BooleanValue.php new file mode 100644 index 000000000..9e1334854 --- /dev/null +++ b/src/Model/Entity/Settings/BooleanValue.php @@ -0,0 +1,38 @@ +") + * @JMS\SerializedName("updated_at") + */ + public $updatedAt; +} diff --git a/src/Model/Entity/Settings/OrderSettings.php b/src/Model/Entity/Settings/OrderSettings.php new file mode 100644 index 000000000..836882de1 --- /dev/null +++ b/src/Model/Entity/Settings/OrderSettings.php @@ -0,0 +1,29 @@ +settings->get(); self::assertModelEqualsToResponse($json, $response); + self::assertNull($response->settings->order); + } + + /** + * @dataProvider orderValues + */ + public function testOrder(bool $enabled): void + { + $json = json_encode([ + 'success' => true, + 'settings' => [ + 'order' => [ + 'allow_duplicate_order_product' => [ + 'value' => $enabled, + 'updated_at' => '2026-05-27 13:31:02', + ], + ], + ], + ], JSON_THROW_ON_ERROR); + + $mock = static::createApiMockBuilder('settings'); + $mock->matchMethod(RequestMethod::GET) + ->reply(200) + ->withBody($json); + + $client = TestClientFactory::createClient($mock->getClient()); + $response = $client->settings->get(); + $setting = $response->settings->order->allowDuplicateOrderProduct; + + self::assertSame($enabled, $setting->value); + self::assertInstanceOf(\DateTime::class, $setting->updatedAt); + self::assertSame('2026-05-27 13:31:02', $setting->updatedAt->format('Y-m-d H:i:s')); + self::assertModelEqualsToResponse($json, $response); + } + + public function orderValues(): array + { + return [ + 'enabled' => [true], + 'disabled' => [false], + ]; } }