From e7f4a8da1c068528cae7cdc6d15df85131fc8fdd Mon Sep 17 00:00:00 2001 From: Ruslan Efanov Date: Mon, 26 Aug 2024 17:18:57 +0300 Subject: [PATCH] add filter[catalogs][] --- src/Model/Entity/Store/Product.php | 8 ++++++++ src/Model/Filter/Store/OfferFilterType.php | 8 ++++++++ tests/src/ResourceGroup/StoreTest.php | 17 +++++++++++++++-- 3 files changed, 31 insertions(+), 2 deletions(-) diff --git a/src/Model/Entity/Store/Product.php b/src/Model/Entity/Store/Product.php index 59aa32b..f2178ae 100644 --- a/src/Model/Entity/Store/Product.php +++ b/src/Model/Entity/Store/Product.php @@ -36,6 +36,14 @@ class Product */ public $maxPrice; + /** + * @var int + * + * @JMS\Type("int") + * @JMS\SerializedName("catalogId") + */ + public $catalogId; + /** * @var int * diff --git a/src/Model/Filter/Store/OfferFilterType.php b/src/Model/Filter/Store/OfferFilterType.php index 6921782..bc542da 100644 --- a/src/Model/Filter/Store/OfferFilterType.php +++ b/src/Model/Filter/Store/OfferFilterType.php @@ -68,6 +68,14 @@ class OfferFilterType */ public $sites; + /** + * @var int[] + * + * @Form\Type("int[]") + * @Form\SerializedName("catalogs") + */ + public $catalogs; + /** * @var int * diff --git a/tests/src/ResourceGroup/StoreTest.php b/tests/src/ResourceGroup/StoreTest.php index 57120cd..20133ad 100644 --- a/tests/src/ResourceGroup/StoreTest.php +++ b/tests/src/ResourceGroup/StoreTest.php @@ -943,11 +943,24 @@ EOF; $request = new OffersRequest(); $request->filter = new OfferFilterType(); $request->filter->active = NumericBoolean::TRUE; - $request->filter->name = 'Test Offer'; + $request->filter->minPrice = 1; + $request->filter->maxPrice = 120000; + $request->filter->sites = ['main']; + $request->filter->maxQuantity = 5; + $request->filter->catalogs = [2]; $mock = static::createApiMockBuilder('store/offers'); $mock->matchMethod(RequestMethod::GET) - ->matchQuery(self::encodeFormArray($request)) + ->matchQuery([ + 'filter' => [ + 'sites' => ['main'], + 'catalogs' => ['2'], + 'active' => '1', + 'minPrice' => '1', + 'maxPrice' => '120000', + 'maxQuantity' => '5', + ] + ]) ->reply(200) ->withBody($json);