Skip to content

Commit 92d6feb

Browse files
committed
GraphQl-198: Products: access to related/up-sell/cross-sell product fields
1 parent 4835285 commit 92d6feb

File tree

4 files changed

+9
-26
lines changed

4 files changed

+9
-26
lines changed

app/code/Magento/CatalogGraphQl/Model/Resolver/Product.php

Lines changed: 1 addition & 13 deletions
Original file line numberDiff line numberDiff line change
@@ -9,10 +9,8 @@
99

1010
use Magento\CatalogGraphQl\Model\Resolver\Product\ProductFieldsSelector;
1111
use Magento\CatalogGraphQl\Model\Resolver\Products\DataProvider\Deferred\Product as ProductDataProvider;
12-
use Magento\Framework\App\ObjectManager;
1312
use Magento\Framework\GraphQl\Config\Element\Field;
1413
use Magento\Framework\GraphQl\Exception\GraphQlInputException;
15-
use Magento\Framework\GraphQl\Query\FieldTranslator;
1614
use Magento\Framework\GraphQl\Query\Resolver\ValueFactory;
1715
use Magento\Framework\GraphQl\Query\ResolverInterface;
1816
use Magento\Framework\GraphQl\Schema\Type\ResolveInfo;
@@ -32,12 +30,6 @@ class Product implements ResolverInterface
3230
*/
3331
private $valueFactory;
3432

35-
/**
36-
* @deprecated
37-
* @var FieldTranslator
38-
*/
39-
private $fieldTranslator;
40-
4133
/**
4234
* @var ProductFieldsSelector
4335
*/
@@ -46,20 +38,16 @@ class Product implements ResolverInterface
4638
/**
4739
* @param ProductDataProvider $productDataProvider
4840
* @param ValueFactory $valueFactory
49-
* @param FieldTranslator $fieldTranslator
5041
* @param ProductFieldsSelector $productFieldsSelector
5142
*/
5243
public function __construct(
5344
ProductDataProvider $productDataProvider,
5445
ValueFactory $valueFactory,
55-
FieldTranslator $fieldTranslator,
5646
ProductFieldsSelector $productFieldsSelector
5747
) {
5848
$this->productDataProvider = $productDataProvider;
5949
$this->valueFactory = $valueFactory;
60-
$this->fieldTranslator = $fieldTranslator;
61-
$this->productFieldsSelector = $productFieldsSelector
62-
?? ObjectManager::getInstance()->get(ProductFieldsSelector::class);
50+
$this->productFieldsSelector = $productFieldsSelector;
6351
}
6452

6553
/**

app/code/Magento/RelatedProductGraphQl/Model/DataProvider/RelatedProductDataProvider.php

Lines changed: 5 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -42,12 +42,13 @@ public function getData(Product $product, array $fields, int $linkType): array
4242
{
4343
$relatedProducts = $this->getRelatedProducts($product, $fields, $linkType);
4444

45-
$data = [];
45+
$productsData = [];
4646
foreach ($relatedProducts as $relatedProduct) {
47-
$relatedProductData = $relatedProduct->getData();
48-
$relatedProductData['model'] = $relatedProduct;
47+
$productData = $relatedProduct->getData();
48+
$productData['model'] = $relatedProduct;
49+
$productsData[] = $productData;
4950
}
50-
return $data;
51+
return $productsData;
5152
}
5253

5354
/**
Lines changed: 3 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,3 @@
1+
# RelatedProductGraphQl
2+
3+
**RelatedProductGraphQl** provides endpoints for getting Cross Sell / Related/ Up Sell products data.

dev/tests/api-functional/testsuite/Magento/GraphQl/RelatedProduct/GetRelatedProductsTest.php

Lines changed: 0 additions & 9 deletions
Original file line numberDiff line numberDiff line change
@@ -31,7 +31,6 @@ public function testQueryRelatedProducts()
3131
sku
3232
name
3333
url_key
34-
id
3534
created_at
3635
}
3736
}
@@ -67,7 +66,6 @@ public function testQueryCrossSellProducts()
6766
sku
6867
name
6968
url_key
70-
id
7169
created_at
7270
}
7371
}
@@ -87,13 +85,11 @@ public function testQueryCrossSellProducts()
8785
self::assertArrayHasKey('sku', $crossSellProduct);
8886
self::assertArrayHasKey('name', $crossSellProduct);
8987
self::assertArrayHasKey('url_key', $crossSellProduct);
90-
self::assertArrayHasKey('id', $crossSellProduct);
9188
self::assertArrayHasKey('created_at', $crossSellProduct);
9289
self::assertEquals($crossSellProduct['sku'], 'simple');
9390
self::assertEquals($crossSellProduct['name'], 'Simple Cross Sell');
9491
self::assertEquals($crossSellProduct['url_key'], 'simple-cross-sell');
9592
self::assertNotEmpty($crossSellProduct['created_at']);
96-
self::assertNotEmpty($crossSellProduct['id']);
9793
}
9894

9995
/**
@@ -113,7 +109,6 @@ public function testQueryUpSellProducts()
113109
sku
114110
name
115111
url_key
116-
id
117112
created_at
118113
}
119114
}
@@ -133,13 +128,11 @@ public function testQueryUpSellProducts()
133128
self::assertArrayHasKey('sku', $upSellProduct);
134129
self::assertArrayHasKey('name', $upSellProduct);
135130
self::assertArrayHasKey('url_key', $upSellProduct);
136-
self::assertArrayHasKey('id', $upSellProduct);
137131
self::assertArrayHasKey('created_at', $upSellProduct);
138132
self::assertEquals($upSellProduct['sku'], 'simple');
139133
self::assertEquals($upSellProduct['name'], 'Simple Up Sell');
140134
self::assertEquals($upSellProduct['url_key'], 'simple-up-sell');
141135
self::assertNotEmpty($upSellProduct['created_at']);
142-
self::assertNotEmpty($upSellProduct['id']);
143136
}
144137

145138
/**
@@ -163,7 +156,6 @@ private function assertRelatedProducts(array $relatedProducts): void
163156
self::assertArrayHasKey('sku', $product);
164157
self::assertArrayHasKey('name', $product);
165158
self::assertArrayHasKey('url_key', $product);
166-
self::assertArrayHasKey('id', $product);
167159
self::assertArrayHasKey('created_at', $product);
168160

169161
self::assertArrayHasKey($product['sku'], $expectedData);
@@ -172,7 +164,6 @@ private function assertRelatedProducts(array $relatedProducts): void
172164
self::assertEquals($product['name'], $productExpectedData['name']);
173165
self::assertEquals($product['url_key'], $productExpectedData['url_key']);
174166
self::assertNotEmpty($product['created_at']);
175-
self::assertNotEmpty($product['id']);
176167
}
177168
}
178169
}

0 commit comments

Comments
 (0)