Skip to content

Commit fc2de56

Browse files
author
Kasian,Andrii(akasian)
committed
Merge pull request #518 from magento-dragons/MAGETWO-40002
[DRAGONS] Functional tests&Bugfixes
2 parents e5a2d00 + dcc50d4 commit fc2de56

File tree

29 files changed

+567
-111
lines changed

29 files changed

+567
-111
lines changed

app/code/Magento/ConfigurableProduct/etc/webapi.xml

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -10,7 +10,7 @@
1010
<route url="/V1/configurable-products/:sku/children" method="GET">
1111
<service class="Magento\ConfigurableProduct\Api\LinkManagementInterface" method="getChildren"/>
1212
<resources>
13-
<resource ref="Magento_Catalog::products"/>
13+
<resource ref="anonymous"/>
1414
</resources>
1515
</route>
1616
<route url="/V1/configurable-products/:sku/children/:childSku" method="DELETE">
@@ -34,13 +34,13 @@
3434
<route url="/V1/configurable-products/:sku/options/:id" method="GET">
3535
<service class="Magento\ConfigurableProduct\Api\OptionRepositoryInterface" method="get"/>
3636
<resources>
37-
<resource ref="Magento_Catalog::products"/>
37+
<resource ref="anonymous"/>
3838
</resources>
3939
</route>
4040
<route url="/V1/configurable-products/:sku/options/all" method="GET">
4141
<service class="Magento\ConfigurableProduct\Api\OptionRepositoryInterface" method="getList"/>
4242
<resources>
43-
<resource ref="Magento_Catalog::products"/>
43+
<resource ref="anonymous"/>
4444
</resources>
4545
</route>
4646
<route url="/V1/configurable-products/:sku/options" method="POST">

app/code/Magento/Downloadable/Block/Adminhtml/Sales/Items/Column/Downloadable/Name.php

Lines changed: 8 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -8,7 +8,9 @@
88

99
namespace Magento\Downloadable\Block\Adminhtml\Sales\Items\Column\Downloadable;
1010

11+
use Magento\Downloadable\Model\Link;
1112
use Magento\Downloadable\Model\Link\Purchased;
13+
use Magento\Store\Model\ScopeInterface;
1214

1315
/**
1416
* Sales Order downloadable items name column renderer
@@ -61,8 +63,8 @@ public function __construct(
6163
public function getLinks()
6264
{
6365
$this->_purchased = $this->_purchasedFactory->create()->load(
64-
$this->getItem()->getOrder()->getId(),
65-
'order_id'
66+
$this->getItem()->getId(),
67+
'order_item_id'
6668
);
6769
$purchasedItem = $this->_itemsFactory->create()->addFieldToFilter('order_item_id', $this->getItem()->getId());
6870
$this->_purchased->setPurchasedItems($purchasedItem);
@@ -74,9 +76,9 @@ public function getLinks()
7476
*/
7577
public function getLinksTitle()
7678
{
77-
if ($this->_purchased && $this->_purchased->getLinkSectionTitle()) {
78-
return $this->_purchased->getLinkSectionTitle();
79-
}
80-
return $this->_scopeConfig->getValue(\Magento\Downloadable\Model\Link::XML_PATH_LINKS_TITLE, \Magento\Store\Model\ScopeInterface::SCOPE_STORE);
79+
return $this->getLinks()->getLinkSectionTitle() ?: $this->_scopeConfig->getValue(
80+
Link::XML_PATH_LINKS_TITLE,
81+
ScopeInterface::SCOPE_STORE
82+
);
8183
}
8284
}

app/code/Magento/Downloadable/Block/Sales/Order/Email/Items/Downloadable.php

Lines changed: 9 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -8,8 +8,10 @@
88

99
namespace Magento\Downloadable\Block\Sales\Order\Email\Items;
1010

11+
use Magento\Downloadable\Model\Link;
1112
use Magento\Downloadable\Model\Link\Purchased;
1213
use Magento\Downloadable\Model\Link\Purchased\Item;
14+
use Magento\Store\Model\ScopeInterface;
1315

1416
/**
1517
* Downlaodable Sales Order Email items renderer
@@ -63,12 +65,12 @@ public function __construct(
6365
public function getLinks()
6466
{
6567
$this->_purchased = $this->_purchasedFactory->create()->load(
66-
$this->getItem()->getOrder()->getId(),
67-
'order_id'
68+
$this->getItem()->getId(),
69+
'order_item_id'
6870
);
6971
$purchasedLinks = $this->_itemsFactory->create()->addFieldToFilter(
7072
'order_item_id',
71-
$this->getItem()->getOrderItem()->getId()
73+
$this->getItem()->getId()
7274
);
7375
$this->_purchased->setPurchasedItems($purchasedLinks);
7476

@@ -80,10 +82,10 @@ public function getLinks()
8082
*/
8183
public function getLinksTitle()
8284
{
83-
if ($this->_purchased->getLinkSectionTitle()) {
84-
return $this->_purchased->getLinkSectionTitle();
85-
}
86-
return $this->_scopeConfig->getValue(\Magento\Downloadable\Model\Link::XML_PATH_LINKS_TITLE, \Magento\Store\Model\ScopeInterface::SCOPE_STORE);
85+
return $this->getLinks()->getLinkSectionTitle() ?: $this->_scopeConfig->getValue(
86+
Link::XML_PATH_LINKS_TITLE,
87+
ScopeInterface::SCOPE_STORE
88+
);
8789
}
8890

8991
/**

app/code/Magento/Downloadable/Block/Sales/Order/Email/Items/Order/Downloadable.php

Lines changed: 8 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -8,7 +8,9 @@
88

99
namespace Magento\Downloadable\Block\Sales\Order\Email\Items\Order;
1010

11+
use Magento\Downloadable\Model\Link;
1112
use Magento\Downloadable\Model\Link\Purchased\Item;
13+
use Magento\Store\Model\ScopeInterface;
1214

1315
/**
1416
* Downloadable Sales Order Email items renderer
@@ -57,8 +59,8 @@ public function __construct(
5759
public function getLinks()
5860
{
5961
$this->_purchased = $this->_purchasedFactory->create()->load(
60-
$this->getItem()->getOrder()->getId(),
61-
'order_id'
62+
$this->getItem()->getId(),
63+
'order_item_id'
6264
);
6365
$purchasedLinks = $this->_itemsFactory->create()->addFieldToFilter('order_item_id', $this->getItem()->getId());
6466
$this->_purchased->setPurchasedItems($purchasedLinks);
@@ -71,10 +73,10 @@ public function getLinks()
7173
*/
7274
public function getLinksTitle()
7375
{
74-
if ($this->_purchased->getLinkSectionTitle()) {
75-
return $this->_purchased->getLinkSectionTitle();
76-
}
77-
return $this->_scopeConfig->getValue(\Magento\Downloadable\Model\Link::XML_PATH_LINKS_TITLE, \Magento\Store\Model\ScopeInterface::SCOPE_STORE);
76+
return $this->getLinks()->getLinkSectionTitle() ?: $this->_scopeConfig->getValue(
77+
Link::XML_PATH_LINKS_TITLE,
78+
ScopeInterface::SCOPE_STORE
79+
);
7880
}
7981

8082
/**

app/code/Magento/Downloadable/Block/Sales/Order/Item/Renderer/Downloadable.php

Lines changed: 8 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -8,7 +8,9 @@
88

99
namespace Magento\Downloadable\Block\Sales\Order\Item\Renderer;
1010

11+
use Magento\Downloadable\Model\Link;
1112
use Magento\Downloadable\Model\Link\Purchased;
13+
use Magento\Store\Model\ScopeInterface;
1214

1315
/**
1416
* Downloadable order item render block
@@ -57,8 +59,8 @@ public function __construct(
5759
public function getLinks()
5860
{
5961
$this->_purchasedLinks = $this->_purchasedFactory->create()->load(
60-
$this->getOrderItem()->getOrder()->getId(),
61-
'order_id'
62+
$this->getOrderItem()->getId(),
63+
'order_item_id'
6264
);
6365
$purchasedItems = $this->_itemsFactory->create()->addFieldToFilter(
6466
'order_item_id',
@@ -74,9 +76,9 @@ public function getLinks()
7476
*/
7577
public function getLinksTitle()
7678
{
77-
if ($this->_purchasedLinks->getLinkSectionTitle()) {
78-
return $this->_purchasedLinks->getLinkSectionTitle();
79-
}
80-
return $this->_scopeConfig->getValue(\Magento\Downloadable\Model\Link::XML_PATH_LINKS_TITLE, \Magento\Store\Model\ScopeInterface::SCOPE_STORE);
79+
return $this->getLinks()->getLinkSectionTitle() ?: $this->_scopeConfig->getValue(
80+
Link::XML_PATH_LINKS_TITLE,
81+
ScopeInterface::SCOPE_STORE
82+
);
8183
}
8284
}
Lines changed: 85 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,85 @@
1+
<?php
2+
/**
3+
* Copyright © 2015 Magento. All rights reserved.
4+
* See COPYING.txt for license details.
5+
*/
6+
7+
namespace Magento\Downloadable\Test\Unit\Block\Adminhtml\Sales\Items\Column\Downloadable;
8+
9+
use Magento\Downloadable\Model\Resource\Link\Purchased\Item\CollectionFactory;
10+
11+
/**
12+
* Tests Magento\Downloadable\Block\Adminhtml\Sales\Items\Column\Downloadable\Name
13+
*/
14+
class NameTest extends \PHPUnit_Framework_TestCase
15+
{
16+
/**
17+
* @var \Magento\Downloadable\Block\Adminhtml\Sales\Items\Column\Downloadable\Name
18+
*/
19+
protected $block;
20+
21+
/**
22+
* @var \Magento\Downloadable\Model\Link\PurchasedFactory|\PHPUnit_Framework_MockObject_MockObject
23+
*/
24+
protected $purchasedFactory;
25+
26+
/**
27+
* @var CollectionFactory|\PHPUnit_Framework_MockObject_MockObject
28+
*/
29+
protected $itemsFactory;
30+
31+
public function setUp()
32+
{
33+
$objectManager = new \Magento\Framework\TestFramework\Unit\Helper\ObjectManager($this);
34+
$contextMock = $this->getMockBuilder('Magento\Backend\Block\Template\Context')
35+
->disableOriginalConstructor()
36+
->getMock();
37+
$this->purchasedFactory = $this->getMockBuilder('Magento\Downloadable\Model\Link\PurchasedFactory')
38+
->disableOriginalConstructor()
39+
->setMethods(['create'])
40+
->getMock();
41+
$this->itemsFactory = $this->getMockBuilder(
42+
'Magento\Downloadable\Model\Resource\Link\Purchased\Item\CollectionFactory'
43+
)
44+
->disableOriginalConstructor()
45+
->setMethods(['create'])
46+
->getMock();
47+
48+
$this->block = $objectManager->getObject(
49+
'Magento\Downloadable\Block\Adminhtml\Sales\Items\Column\Downloadable\Name',
50+
[
51+
'context' => $contextMock,
52+
'purchasedFactory' => $this->purchasedFactory,
53+
'itemsFactory' => $this->itemsFactory
54+
]
55+
);
56+
}
57+
58+
public function testGetLinks()
59+
{
60+
$item = $this->getMockBuilder('\Magento\Sales\Model\Order\Item')
61+
->disableOriginalConstructor()
62+
->setMethods(['getId'])
63+
->getMock();
64+
$linkPurchased = $this->getMockBuilder('Magento\Downloadable\Model\Link\Purchased')
65+
->disableOriginalConstructor()
66+
->setMethods(['load'])
67+
->getMock();
68+
$itemCollection = $this->getMockBuilder('Magento\Downloadable\Model\Resource\Link\Purchased\Item\Collection')
69+
->disableOriginalConstructor()
70+
->setMethods(['addFieldToFilter'])
71+
->getMock();
72+
73+
$this->block->setData('item', $item);
74+
$this->purchasedFactory->expects($this->once())->method('create')->willReturn($linkPurchased);
75+
$linkPurchased->expects($this->once())->method('load')->with('itemId', 'order_item_id')->willReturnSelf();
76+
$item->expects($this->any())->method('getId')->willReturn('itemId');
77+
$this->itemsFactory->expects($this->once())->method('create')->willReturn($itemCollection);
78+
$itemCollection->expects($this->once())
79+
->method('addFieldToFilter')
80+
->with('order_item_id', 'itemId')
81+
->willReturnSelf();
82+
83+
$this->assertEquals($linkPurchased, $this->block->getLinks());
84+
}
85+
}
Lines changed: 85 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,85 @@
1+
<?php
2+
/**
3+
* Copyright © 2015 Magento. All rights reserved.
4+
* See COPYING.txt for license details.
5+
*/
6+
7+
namespace Magento\Downloadable\Test\Unit\Block\Sales\Order\Email\Items;
8+
9+
use Magento\Downloadable\Model\Resource\Link\Purchased\Item\CollectionFactory;
10+
11+
/**
12+
* Tests Magento\Downloadable\Test\Unit\Block\Sales\Order\Email\Items\Downloadable
13+
*/
14+
class DownloadableTest extends \PHPUnit_Framework_TestCase
15+
{
16+
/**
17+
* @var \Magento\Downloadable\Block\Sales\Order\Email\Items\Downloadable
18+
*/
19+
protected $block;
20+
21+
/**
22+
* @var \Magento\Downloadable\Model\Link\PurchasedFactory|\PHPUnit_Framework_MockObject_MockObject
23+
*/
24+
protected $purchasedFactory;
25+
26+
/**
27+
* @var CollectionFactory|\PHPUnit_Framework_MockObject_MockObject
28+
*/
29+
protected $itemsFactory;
30+
31+
public function setUp()
32+
{
33+
$objectManager = new \Magento\Framework\TestFramework\Unit\Helper\ObjectManager($this);
34+
$contextMock = $this->getMockBuilder('Magento\Backend\Block\Template\Context')
35+
->disableOriginalConstructor()
36+
->getMock();
37+
$this->purchasedFactory = $this->getMockBuilder('Magento\Downloadable\Model\Link\PurchasedFactory')
38+
->disableOriginalConstructor()
39+
->setMethods(['create'])
40+
->getMock();
41+
$this->itemsFactory = $this->getMockBuilder(
42+
'Magento\Downloadable\Model\Resource\Link\Purchased\Item\CollectionFactory'
43+
)
44+
->disableOriginalConstructor()
45+
->setMethods(['create'])
46+
->getMock();
47+
48+
$this->block = $objectManager->getObject(
49+
'Magento\Downloadable\Block\Sales\Order\Email\Items\Downloadable',
50+
[
51+
'context' => $contextMock,
52+
'purchasedFactory' => $this->purchasedFactory,
53+
'itemsFactory' => $this->itemsFactory
54+
]
55+
);
56+
}
57+
58+
public function testGetLinks()
59+
{
60+
$item = $this->getMockBuilder('\Magento\Sales\Model\Order\Item')
61+
->disableOriginalConstructor()
62+
->setMethods(['getId'])
63+
->getMock();
64+
$linkPurchased = $this->getMockBuilder('Magento\Downloadable\Model\Link\Purchased')
65+
->disableOriginalConstructor()
66+
->setMethods(['load'])
67+
->getMock();
68+
$itemCollection = $this->getMockBuilder('Magento\Downloadable\Model\Resource\Link\Purchased\Item\Collection')
69+
->disableOriginalConstructor()
70+
->setMethods(['addFieldToFilter'])
71+
->getMock();
72+
73+
$this->block->setData('item', $item);
74+
$this->purchasedFactory->expects($this->once())->method('create')->willReturn($linkPurchased);
75+
$linkPurchased->expects($this->once())->method('load')->with('itemId', 'order_item_id')->willReturnSelf();
76+
$item->expects($this->any())->method('getId')->willReturn('itemId');
77+
$this->itemsFactory->expects($this->once())->method('create')->willReturn($itemCollection);
78+
$itemCollection->expects($this->once())
79+
->method('addFieldToFilter')
80+
->with('order_item_id', 'itemId')
81+
->willReturnSelf();
82+
83+
$this->assertEquals($linkPurchased, $this->block->getLinks());
84+
}
85+
}

0 commit comments

Comments
 (0)