Skip to content

Commit 9e630ef

Browse files
committed
Merge remote-tracking branch 'local/ACP2E-1552' into PR_7_JAN_2023
2 parents 68a8b56 + de012a3 commit 9e630ef

File tree

4 files changed

+56
-3
lines changed

4 files changed

+56
-3
lines changed

app/code/Magento/Review/Test/Fixture/Review.php

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -23,6 +23,7 @@ class Review implements RevertibleDataFixtureInterface
2323
'detail' => 'Review detail',
2424
'status_id' => ReviewModel::STATUS_APPROVED,
2525
'store_id' => 1,
26+
'customer_id' => null,
2627
];
2728

2829
/**

app/code/Magento/ReviewGraphQl/Model/DataProvider/CustomerReviewsDataProvider.php

Lines changed: 3 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -36,17 +36,18 @@ public function __construct(
3636
* @param int $customerId
3737
* @param int $currentPage
3838
* @param int $pageSize
39-
*
39+
* @param int $storeId
4040
* @return ReviewsCollection
4141
*/
42-
public function getData(int $customerId, int $currentPage, int $pageSize): ReviewsCollection
42+
public function getData(int $customerId, int $currentPage, int $pageSize, int $storeId): ReviewsCollection
4343
{
4444
/** @var ReviewsCollection $reviewsCollection */
4545
$reviewsCollection = $this->collectionFactory->create();
4646
$reviewsCollection
4747
->addCustomerFilter($customerId)
4848
->setPageSize($pageSize)
4949
->setCurPage($currentPage)
50+
->addStoreFilter($storeId)
5051
->setDateOrder();
5152
$reviewsCollection->getSelect()->join(
5253
['cpe' => $reviewsCollection->getTable('catalog_product_entity')],

app/code/Magento/ReviewGraphQl/Model/Resolver/Customer/Reviews.php

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -82,7 +82,8 @@ public function resolve(
8282
$reviewsCollection = $this->customerReviewsDataProvider->getData(
8383
(int) $context->getUserId(),
8484
$args['currentPage'],
85-
$args['pageSize']
85+
$args['pageSize'],
86+
(int) $context->getExtensionAttributes()->getStore()->getId()
8687
);
8788

8889
return $this->aggregatedReviewsDataProvider->getData($reviewsCollection);

dev/tests/api-functional/testsuite/Magento/GraphQl/Review/GetProductReviewsTest.php

Lines changed: 50 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -19,6 +19,7 @@
1919
use Magento\Review\Test\Fixture\Review as ReviewFixture;
2020
use Magento\Store\Model\StoreManagerInterface;
2121
use Magento\Store\Test\Fixture\Store as StoreFixture;
22+
use Magento\Customer\Test\Fixture\Customer as CustomerFixture;
2223
use Magento\TestFramework\Fixture\DataFixture;
2324
use Magento\TestFramework\Helper\Bootstrap;
2425
use Magento\TestFramework\ObjectManager;
@@ -288,6 +289,55 @@ public function testProductReviewDifferentStores(string $storeCode): void
288289
self::assertCount(1, $response['products']['items'][0]['reviews']['items']);
289290
}
290291

292+
#[
293+
DataFixture(StoreFixture::class, ['code' => 'store2'], 'store2'),
294+
DataFixture(CustomerFixture::class, ['email' => 'customer@example.com'], 'customer'),
295+
DataFixture(ProductFixture::class, ['sku' => 'product1'], 'product1'),
296+
DataFixture(ReviewFixture::class, [
297+
'entity_pk_value' => '$product1.id$',
298+
'customer_id' => '$customer.entity_id$'
299+
]),
300+
DataFixture(ReviewFixture::class, [
301+
'entity_pk_value' => '$product1.id$',
302+
'store_id' => '$store2.id$',
303+
'customer_id' => '$customer.entity_id$'
304+
]),
305+
]
306+
/**
307+
* @dataProvider storesDataProvider
308+
* @param string $storeCode
309+
*/
310+
public function testCustomerReviewDifferentStores(string $storeCode): void
311+
{
312+
$query = <<<QUERY
313+
{
314+
customer {
315+
firstname
316+
lastname
317+
suffix
318+
email
319+
reviews(
320+
currentPage: 1
321+
pageSize: 20
322+
) {
323+
items {
324+
summary
325+
text
326+
summary
327+
}
328+
}
329+
}
330+
}
331+
QUERY;
332+
$headers = ['Store' => $storeCode, 'Authorization' => implode($this->getHeaderMap())];
333+
$response = $this->graphQlQuery($query, [], '', $headers);
334+
self::assertArrayHasKey('customer', $response);
335+
self::assertArrayHasKey('reviews', $response['customer']);
336+
self::assertArrayHasKey('items', $response['customer']['reviews']);
337+
self::assertNotEmpty($response['customer']['reviews']['items']);
338+
self::assertCount(1, $response['customer']['reviews']['items']);
339+
}
340+
291341
/**
292342
* @return array
293343
*/

0 commit comments

Comments
 (0)