5
5
*/
6
6
namespace Magento \CatalogSearch \Model \Layer \Filter ;
7
7
8
+ use Magento \TestFramework \Helper \Bootstrap ;
9
+
8
10
/**
9
11
* Test class for \Magento\CatalogSearch\Model\Layer\Filter\Price.
10
12
*
@@ -19,26 +21,31 @@ class PriceTest extends \PHPUnit\Framework\TestCase
19
21
*/
20
22
protected $ _model ;
21
23
24
+ /**
25
+ * @var \Magento\Framework\ObjectManagerInterface
26
+ */
27
+ private $ objectManager ;
28
+
22
29
protected function setUp ()
23
30
{
24
- $ category = \Magento \TestFramework \Helper \Bootstrap::getObjectManager ()->create (
31
+ $ this ->objectManager = Bootstrap::getObjectManager ();
32
+ $ category = $ this ->objectManager ->create (
25
33
\Magento \Catalog \Model \Category::class
26
34
);
27
35
$ category ->load (4 );
28
- $ layer = \Magento \TestFramework \Helper \Bootstrap::getObjectManager ()
29
- ->get (\Magento \Catalog \Model \Layer \Category::class);
36
+ $ layer = $ this ->objectManager ->get (\Magento \Catalog \Model \Layer \Category::class);
30
37
$ layer ->setCurrentCategory ($ category );
31
- $ this ->_model = \Magento \TestFramework \Helper \Bootstrap::getObjectManager ()
32
- ->create (\Magento \CatalogSearch \Model \Layer \Filter \Price::class, ['layer ' => $ layer ]);
38
+ $ this ->_model = $ this ->objectManager ->create (
39
+ \Magento \CatalogSearch \Model \Layer \Filter \Price::class,
40
+ ['layer ' => $ layer ]
41
+ );
33
42
}
34
43
35
44
public function testApplyNothing ()
36
45
{
37
46
$ this ->assertEmpty ($ this ->_model ->getData ('price_range ' ));
38
- /** @var $objectManager \Magento\TestFramework\ObjectManager */
39
- $ objectManager = \Magento \TestFramework \Helper \Bootstrap::getObjectManager ();
40
47
/** @var $request \Magento\TestFramework\Request */
41
- $ request = $ objectManager ->get (\Magento \TestFramework \Request::class);
48
+ $ request = $ this -> objectManager ->get (\Magento \TestFramework \Request::class);
42
49
$ this ->_model ->apply ($ request );
43
50
44
51
$ this ->assertEmpty ($ this ->_model ->getData ('price_range ' ));
@@ -47,10 +54,8 @@ public function testApplyNothing()
47
54
public function testApplyInvalid ()
48
55
{
49
56
$ this ->assertEmpty ($ this ->_model ->getData ('price_range ' ));
50
- /** @var $objectManager \Magento\TestFramework\ObjectManager */
51
- $ objectManager = \Magento \TestFramework \Helper \Bootstrap::getObjectManager ();
52
57
/** @var $request \Magento\TestFramework\Request */
53
- $ request = $ objectManager ->get (\Magento \TestFramework \Request::class);
58
+ $ request = $ this -> objectManager ->get (\Magento \TestFramework \Request::class);
54
59
$ request ->setParam ('price ' , 'non-numeric ' );
55
60
$ this ->_model ->apply ($ request );
56
61
@@ -62,12 +67,31 @@ public function testApplyInvalid()
62
67
*/
63
68
public function testApplyManual ()
64
69
{
65
- /** @var $objectManager \Magento\TestFramework\ObjectManager */
66
- $ objectManager = \Magento \TestFramework \Helper \Bootstrap::getObjectManager ();
67
70
/** @var $request \Magento\TestFramework\Request */
68
- $ request = $ objectManager ->get (\Magento \TestFramework \Request::class);
71
+ $ request = $ this ->objectManager ->get (\Magento \TestFramework \Request::class);
72
+ $ request ->setParam ('price ' , '10-20 ' );
73
+ $ this ->_model ->apply ($ request );
74
+ }
75
+
76
+ /**
77
+ * Make sure that currency rate is used to calculate label for applied price filter
78
+ */
79
+ public function testApplyWithCustomCurrencyRate ()
80
+ {
81
+ /** @var $request \Magento\TestFramework\Request */
82
+ $ request = $ this ->objectManager ->get (\Magento \TestFramework \Request::class);
83
+
69
84
$ request ->setParam ('price ' , '10-20 ' );
85
+ $ this ->_model ->setCurrencyRate (10 );
86
+
70
87
$ this ->_model ->apply ($ request );
88
+
89
+ $ filters = $ this ->_model ->getLayer ()->getState ()->getFilters ();
90
+ $ this ->assertArrayHasKey (0 , $ filters );
91
+ $ this ->assertEquals (
92
+ '<span class="price">$100.00</span> - <span class="price">$199.99</span> ' ,
93
+ (string )$ filters [0 ]->getLabel ()
94
+ );
71
95
}
72
96
73
97
public function testGetSetCustomerGroupId ()
0 commit comments