Skip to content

Commit 084a8dd

Browse files
committed
Merge remote-tracking branch 'origin/imported-magento-magento2-30727' into 2.4-develop-pr108
2 parents 8390dee + a92baab commit 084a8dd

File tree

4 files changed

+64
-2
lines changed

4 files changed

+64
-2
lines changed

app/code/Magento/Customer/Block/Adminhtml/Edit/Tab/Newsletter/Grid/Renderer/Action.php

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -60,7 +60,7 @@ public function render(\Magento\Framework\DataObject $row)
6060
'newsletter/template/preview',
6161
[
6262
'id' => $row->getTemplateId(),
63-
'subscriber' => $this->_coreRegistry->registry('subscriber')->getId()
63+
'subscriber' => $row->getSubscriberId(),
6464
]
6565
),
6666
'target' => '_blank',

app/code/Magento/Newsletter/Model/ResourceModel/Queue/Collection.php

Lines changed: 4 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -225,7 +225,10 @@ public function addCustomerFilter(int $customerId): Collection
225225
)->join(
226226
['subscriber' => $this->getTable('newsletter_subscriber')],
227227
'link.subscriber_id=subscriber.subscriber_id',
228-
['subscriber_store_id' => 'subscriber.store_id']
228+
[
229+
'subscriber_store_id' => 'subscriber.store_id',
230+
'subscriber_id' => 'subscriber.subscriber_id',
231+
]
229232
)->where(
230233
'subscriber.customer_id = ?',
231234
$customerId

dev/tests/integration/testsuite/Magento/Customer/Block/Adminhtml/Edit/Tab/NewsletterTest.php

Lines changed: 17 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -76,4 +76,21 @@ public function testRenderingNewsletterBlock()
7676
$this->assertStringContainsString('\u003Cspan\u003ESubscribed to Newsletter\u003C\/span\u003E', $body);
7777
$this->assertStringContainsString('\u003ENo Newsletter Found\u003C', $body);
7878
}
79+
80+
/**
81+
* @magentoDataFixture Magento/Customer/_files/customer_sample.php
82+
* @magentoDataFixture Magento/Newsletter/_files/newsletter_sample.php
83+
* @magentoDataFixture Magento/Newsletter/_files/queue.php
84+
*/
85+
public function testRenderingNewsletterBlockWithQueue()
86+
{
87+
$this->getRequest()->setParam('id', 1);
88+
$this->dispatch('backend/customer/index/edit');
89+
$body = $this->getResponse()->getBody();
90+
91+
$this->assertMatchesRegularExpression(
92+
'~.+\/newsletter\\\/template\\\/preview\\\/id\\\/\d+\\\/subscriber\\\/\d+\\\/.+~',
93+
$body
94+
);
95+
}
7996
}
Lines changed: 42 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,42 @@
1+
<?php
2+
/**
3+
* Copyright © Magento, Inc. All rights reserved.
4+
* See COPYING.txt for license details.
5+
*/
6+
declare(strict_types=1);
7+
8+
namespace Magento\Newsletter\Model\ResourceModel\Queue;
9+
10+
use Magento\Newsletter\Model\Subscriber;
11+
use Magento\TestFramework\Helper\Bootstrap;
12+
use PHPUnit\Framework\TestCase;
13+
14+
/**
15+
* Customer filter fields Collection test class
16+
*/
17+
class CollectionTest extends TestCase
18+
{
19+
/**
20+
* @magentoDataFixture Magento/Customer/_files/customer_sample.php
21+
* @magentoDataFixture Magento/Newsletter/_files/newsletter_sample.php
22+
* @magentoDataFixture Magento/Newsletter/_files/queue.php
23+
*/
24+
public function testLoadWithCustomerFilter()
25+
{
26+
$objectManager = Bootstrap::getObjectManager();
27+
/** @var CollectionFactory $collectionFactory */
28+
$collectionFactory = $objectManager->get(CollectionFactory::class);
29+
$collection = $collectionFactory->create()->addCustomerFilter(1);
30+
$item = $collection->getFirstItem();
31+
32+
/** @var Subscriber $subscriber */
33+
$subscriber = $objectManager->get(Subscriber::class);
34+
$subscriber->loadByCustomer(1, 1);
35+
36+
self::assertEquals(
37+
$subscriber->getId(),
38+
$item->getSubscriberId(),
39+
'Wrong subscriber id loaded in collection.'
40+
);
41+
}
42+
}

0 commit comments

Comments
 (0)