11
11
12
12
/**
13
13
* Test for \Magento\CatalogSearch\Model\Layer\Filter\Price
14
- * @SuppressWarnings(PHPMD.UnusedPrivateField)
15
14
*/
16
15
class PriceTest extends \PHPUnit_Framework_TestCase
17
16
{
18
- private $ itemDataBuilder ;
19
-
20
17
/**
21
- * @var \Magento\Catalog\Model\Price |MockObject
18
+ * @var \Magento\Catalog\Model\Layer\Filter\Item\DataBuilder |MockObject
22
19
*/
23
- private $ price ;
20
+ private $ itemDataBuilder ;
24
21
25
22
/**
26
23
* @var \Magento\CatalogSearch\Model\ResourceModel\Fulltext\Collection|MockObject
@@ -48,69 +45,60 @@ class PriceTest extends \PHPUnit_Framework_TestCase
48
45
/** @var \Magento\Catalog\Model\Layer\Filter\ItemFactory|MockObject */
49
46
private $ filterItemFactory ;
50
47
48
+ /**
49
+ * @var \Magento\Store\Api\Data\StoreInterface|MockObject
50
+ */
51
+ private $ storeMock ;
52
+
51
53
/** @var \Magento\Catalog\Model\Layer\State|MockObject */
52
54
private $ state ;
53
55
54
56
protected function setUp ()
55
57
{
56
58
$ this ->request = $ this ->getMockBuilder ('\Magento\Framework\App\RequestInterface ' )
57
- ->disableOriginalConstructor ()
58
- ->setMethods (['getParam ' ])
59
59
->getMockForAbstractClass ();
60
60
61
61
$ dataProviderFactory = $ this ->getMockBuilder ('\Magento\Catalog\Model\Layer\Filter\DataProvider\PriceFactory ' )
62
62
->disableOriginalConstructor ()
63
63
->setMethods (['create ' ])
64
64
->getMock ();
65
-
66
65
$ this ->dataProvider = $ this ->getMockBuilder ('\Magento\Catalog\Model\Layer\Filter\DataProvider\Price ' )
67
66
->disableOriginalConstructor ()
68
67
->setMethods (['setPriceId ' , 'getPrice ' ])
69
68
->getMock ();
70
-
71
69
$ dataProviderFactory ->expects ($ this ->once ())
72
70
->method ('create ' )
73
71
->will ($ this ->returnValue ($ this ->dataProvider ));
74
72
75
73
$ this ->layer = $ this ->getMockBuilder ('\Magento\Catalog\Model\Layer ' )
76
74
->disableOriginalConstructor ()
77
- ->setMethods (['getState ' , 'getProductCollection ' ])
78
75
->getMock ();
79
76
80
77
$ this ->state = $ this ->getMockBuilder ('\Magento\Catalog\Model\Layer\State ' )
81
78
->disableOriginalConstructor ()
82
- ->setMethods (['addFilter ' ])
83
79
->getMock ();
84
80
$ this ->layer ->expects ($ this ->any ())
85
81
->method ('getState ' )
86
82
->will ($ this ->returnValue ($ this ->state ));
87
83
88
- $ this ->fulltextCollection = $ this ->fulltextCollection = $ this -> getMockBuilder (
84
+ $ this ->fulltextCollection = $ this ->getMockBuilder (
89
85
'\Magento\CatalogSearch\Model\ResourceModel\Fulltext\Collection '
90
- )
91
- ->disableOriginalConstructor ()
92
- ->setMethods (['addFieldToFilter ' , 'getFacetedData ' ])
86
+ )->disableOriginalConstructor ()
93
87
->getMock ();
94
-
95
88
$ this ->layer ->expects ($ this ->any ())
96
89
->method ('getProductCollection ' )
97
90
->will ($ this ->returnValue ($ this ->fulltextCollection ));
98
91
99
92
$ this ->itemDataBuilder = $ this ->getMockBuilder ('\Magento\Catalog\Model\Layer\Filter\Item\DataBuilder ' )
100
93
->disableOriginalConstructor ()
101
- ->setMethods (['addItemData ' , 'build ' ])
102
94
->getMock ();
103
95
104
- $ this ->filterItemFactory = $ this ->getMockBuilder (
105
- '\Magento\Catalog\Model\Layer\Filter\ItemFactory '
106
- )
96
+ $ this ->filterItemFactory = $ this ->getMockBuilder ('\Magento\Catalog\Model\Layer\Filter\ItemFactory ' )
107
97
->disableOriginalConstructor ()
108
98
->setMethods (['create ' ])
109
99
->getMock ();
110
100
111
- $ filterItem = $ this ->getMockBuilder (
112
- '\Magento\Catalog\Model\Layer\Filter\Item '
113
- )
101
+ $ filterItem = $ this ->getMockBuilder ('\Magento\Catalog\Model\Layer\Filter\Item ' )
114
102
->disableOriginalConstructor ()
115
103
->setMethods (['setFilter ' , 'setLabel ' , 'setValue ' , 'setCount ' ])
116
104
->getMock ();
@@ -123,12 +111,20 @@ protected function setUp()
123
111
124
112
$ escaper = $ this ->getMockBuilder ('\Magento\Framework\Escaper ' )
125
113
->disableOriginalConstructor ()
126
- ->setMethods (['escapeHtml ' ])
127
114
->getMock ();
128
115
$ escaper ->expects ($ this ->any ())
129
116
->method ('escapeHtml ' )
130
117
->will ($ this ->returnArgument (0 ));
131
118
119
+ $ this ->storeMock = $ this ->getMockBuilder (\Magento \Store \Api \Data \StoreInterface::class)
120
+ ->setMethods (['getCurrentCurrencyRate ' ])
121
+ ->getMockForAbstractClass ();
122
+ $ storeManagerMock = $ this ->getMockBuilder (\Magento \Store \Model \StoreManagerInterface::class)
123
+ ->getMockForAbstractClass ();
124
+ $ storeManagerMock ->expects ($ this ->any ())
125
+ ->method ('getStore ' )
126
+ ->willReturn ($ this ->storeMock );
127
+
132
128
$ this ->attribute = $ this ->getMockBuilder ('\Magento\Eav\Model\Entity\Attribute ' )
133
129
->disableOriginalConstructor ()
134
130
->setMethods (['getAttributeCode ' , 'getFrontend ' , 'getIsFilterable ' ])
@@ -142,14 +138,14 @@ protected function setUp()
142
138
'itemDataBuilder ' => $ this ->itemDataBuilder ,
143
139
'filterItemFactory ' => $ this ->filterItemFactory ,
144
140
'escaper ' => $ escaper ,
141
+ 'storeManager ' => $ storeManagerMock ,
145
142
]
146
143
);
147
144
}
148
145
149
146
/**
150
147
* @param $requestValue
151
148
* @param $idValue
152
- * @param $isIdUsed
153
149
* @dataProvider applyWithEmptyRequestDataProvider
154
150
*/
155
151
public function testApplyWithEmptyRequest ($ requestValue , $ idValue )
@@ -224,6 +220,10 @@ function ($field) use ($requestVar, $priceId) {
224
220
->with ('price ' )
225
221
->will ($ this ->returnSelf ());
226
222
223
+ $ this ->storeMock ->expects ($ this ->atLeastOnce ())
224
+ ->method ('getCurrentCurrencyRate ' )
225
+ ->willReturn (1 );
226
+
227
227
$ this ->target ->apply ($ this ->request );
228
228
}
229
229
0 commit comments