Magento 2 Documentation  2.3
Documentation for Magento 2 CMS v2.3 (December 2018)
EmailLinkTest.php
Go to the documentation of this file.
1 <?php
8 
10 
11 class EmailLinkTest extends \PHPUnit\Framework\TestCase
12 {
14  protected $link;
15 
18 
20  protected $wishlistHelper;
21 
23  protected $urlBuilder;
24 
28  protected $urlEncoder;
29 
30  protected function setUp()
31  {
32  $wishlist = $this->createPartialMock(\Magento\Wishlist\Model\Wishlist::class, ['getId', 'getSharingCode']);
33  $wishlist->expects($this->any())->method('getId')->will($this->returnValue(5));
34  $wishlist->expects($this->any())->method('getSharingCode')->will($this->returnValue('somesharingcode'));
35  $customer = $this->createMock(\Magento\Customer\Api\Data\CustomerInterface::class);
36  $customer->expects($this->any())->method('getId')->will($this->returnValue(8));
37  $customer->expects($this->any())->method('getEmail')->will($this->returnValue('[email protected]'));
38 
39  $this->wishlistHelper = $this->createPartialMock(
40  \Magento\Wishlist\Helper\Data::class,
41  ['getWishlist', 'getCustomer', 'urlEncode']
42  );
43  $this->urlEncoder = $this->createPartialMock(\Magento\Framework\Url\EncoderInterface::class, ['encode']);
44 
45  $this->wishlistHelper->expects($this->any())->method('getWishlist')->will($this->returnValue($wishlist));
46  $this->wishlistHelper->expects($this->any())->method('getCustomer')->will($this->returnValue($customer));
47  $this->urlEncoder->expects($this->any())
48  ->method('encode')
49  ->willReturnCallback(function ($url) {
50  return strtr(base64_encode($url), '+/=', '-_,');
51  });
52 
53  $this->urlBuilder = $this->createMock(\Magento\Framework\App\Rss\UrlBuilderInterface::class);
54  $this->objectManagerHelper = new ObjectManagerHelper($this);
55  $this->link = $this->objectManagerHelper->getObject(
56  \Magento\Wishlist\Block\Rss\EmailLink::class,
57  [
58  'wishlistHelper' => $this->wishlistHelper,
59  'rssUrlBuilder' => $this->urlBuilder,
60  'urlEncoder' => $this->urlEncoder,
61  ]
62  );
63  }
64 
65  public function testGetLink()
66  {
67  $this->urlBuilder->expects($this->atLeastOnce())->method('getUrl')
68  ->with($this->equalTo([
69  'type' => 'wishlist',
70  'data' => 'OCx0ZXN0QGV4YW1wbGUuY29t',
71  '_secure' => false,
72  'wishlist_id' => 5,
73  'sharing_code' => 'somesharingcode',
74  ]))
75  ->will($this->returnValue('http://url.com/rss/feed/index/type/wishlist/wishlist_id/5'));
76  $this->assertEquals('http://url.com/rss/feed/index/type/wishlist/wishlist_id/5', $this->link->getLink());
77  }
78 }
$customer
Definition: customers.php:11
$wishlist
Definition: wishlist.php:10