Skip to content

Commit d8d405b

Browse files
author
Stanislav Idolov
committed
MAGETWO-63274: Adding pager to front order view page
1 parent 532d431 commit d8d405b

File tree

2 files changed

+135
-230
lines changed

2 files changed

+135
-230
lines changed

app/code/Magento/Sales/Test/Unit/Block/Order/ItemsTest.php

Lines changed: 0 additions & 230 deletions
This file was deleted.
Lines changed: 135 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,135 @@
1+
<?php
2+
/**
3+
* Copyright © 2013-2017 Magento, Inc. All rights reserved.
4+
* See COPYING.txt for license details.
5+
*/
6+
7+
namespace Magento\Sales\Block\Order;
8+
9+
class ItemsTest extends \PHPUnit_Framework_TestCase
10+
{
11+
/**
12+
* @var \Magento\Sales\Block\Order\Items
13+
*/
14+
private $model;
15+
16+
/**
17+
* @var \Magento\Framework\View\LayoutInterface
18+
*/
19+
private $layout;
20+
21+
/**
22+
* @var \Magento\Framework\ObjectManagerInterface
23+
*/
24+
private $objectManager;
25+
26+
/**
27+
* @var \Magento\Framework\Registry
28+
*/
29+
private $registry;
30+
31+
protected function setUp()
32+
{
33+
$this->objectManager = \Magento\TestFramework\Helper\Bootstrap::getObjectManager();
34+
$this->layout = $this->objectManager->get(\Magento\Framework\View\LayoutInterface::class);
35+
$this->registry = $this->objectManager->get(\Magento\Framework\Registry::class);
36+
}
37+
38+
/**
39+
* @magentoDataFixture Magento/Sales/_files/order.php
40+
*/
41+
public function testGetOrderItems()
42+
{
43+
$this->registerOrder();
44+
$this->model = $this->layout->createBlock(\Magento\Sales\Block\Order\Items::class);
45+
$this->assertTrue(count($this->model->getItems()) > 0);
46+
}
47+
48+
/**
49+
* @magentoAppIsolation enabled
50+
* @magentoConfigFixture default/sales/orders/items_per_page 3
51+
* @magentoDataFixture Magento/Sales/_files/order_item_list.php
52+
*/
53+
public function testPagerIsDisplayed()
54+
{
55+
$this->registerOrder();
56+
57+
/** @var \Magento\Sales\Block\Order\Items model */
58+
$this->model = $this->layout->createBlock(\Magento\Sales\Block\Order\Items::class, 'items_block');
59+
$this->layout->addBlock(
60+
$this->objectManager->get(\Magento\Theme\Block\Html\Pager::class),
61+
'sales_order_item_pager',
62+
'items_block'
63+
);
64+
$this->model->setLayout($this->layout);
65+
66+
$this->assertTrue($this->model->isPagerDisplayed());
67+
}
68+
69+
/**
70+
* @magentoDataFixture Magento/Sales/_files/order_item_list.php
71+
*/
72+
public function testPagerIsNotDisplayed()
73+
{
74+
$this->registerOrder();
75+
76+
/** @var \Magento\Sales\Block\Order\Items model */
77+
$this->model = $this->layout->createBlock(\Magento\Sales\Block\Order\Items::class, 'items_block');
78+
$this->layout->addBlock(
79+
$this->objectManager->get(\Magento\Theme\Block\Html\Pager::class),
80+
'sales_order_item_pager',
81+
'items_block'
82+
);
83+
$this->model->setLayout($this->layout);
84+
85+
$this->assertFalse($this->model->isPagerDisplayed());
86+
}
87+
88+
/**
89+
* @magentoAppIsolation enabled
90+
* @magentoAppArea frontend
91+
* @magentoConfigFixture default/sales/orders/items_per_page 3
92+
* @magentoDataFixture Magento/Sales/_files/order_item_list.php
93+
*/
94+
public function testGetPagerHtml()
95+
{
96+
$this->registerOrder();
97+
98+
/** @var \Magento\Sales\Block\Order\Items model */
99+
$this->model = $this->layout->createBlock(\Magento\Sales\Block\Order\Items::class, 'items_block');
100+
$this->layout->addBlock(
101+
$this->objectManager->get(\Magento\Theme\Block\Html\Pager::class),
102+
'sales_order_item_pager',
103+
'items_block'
104+
);
105+
$this->model->setLayout($this->layout);
106+
107+
$this->assertNotEmpty($this->model->getPagerHtml());
108+
}
109+
110+
/**
111+
* @magentoDataFixture Magento/Sales/_files/order.php
112+
*/
113+
public function testGetOrder()
114+
{
115+
$order = $this->registerOrder();
116+
117+
/** @var \Magento\Sales\Block\Order\Items model */
118+
$this->model = $this->layout->createBlock(\Magento\Sales\Block\Order\Items::class, 'items_block');
119+
$this->assertEquals($order, $this->model->getOrder());
120+
}
121+
122+
/**
123+
* Register order in registry
124+
*
125+
* @return \Magento\Sales\Model\Order
126+
*/
127+
private function registerOrder()
128+
{
129+
/** @var \Magento\Sales\Model\Order $order */
130+
$order = $this->objectManager->get(\Magento\Sales\Model\Order::class);
131+
$order->loadByIncrementId('100000001');
132+
$this->registry->register('current_order', $order);
133+
return $order;
134+
}
135+
}

0 commit comments

Comments
 (0)