5
5
*/
6
6
namespace Magento \Backend \Model ;
7
7
8
+ use Magento \TestFramework \Helper \Bootstrap ;
9
+ use Magento \Framework \App \RequestInterface ;
10
+ use Magento \Framework \Url \ParamEncoder ;
11
+ use Magento \Framework \Session \SessionManagerInterface ;
12
+ use Magento \Framework \Encryption \EncryptorInterface ;
13
+
8
14
/**
9
15
* Test class for \Magento\Backend\Model\UrlInterface.
10
16
*
13
19
class UrlTest extends \PHPUnit_Framework_TestCase
14
20
{
15
21
/**
16
- * @var \Magento\Backend\Model\UrlInterface
22
+ * @var RequestInterface
23
+ */
24
+ private $ request ;
25
+
26
+ /**
27
+ * @var UrlInterface
17
28
*/
18
29
protected $ _model ;
19
30
20
31
protected function setUp ()
21
32
{
22
- parent ::setUp ();
23
- $ this ->_model = \Magento \TestFramework \Helper \Bootstrap::getObjectManager ()->create (
24
- 'Magento\Backend\Model\UrlInterface '
25
- );
33
+ $ this ->request = Bootstrap::getObjectManager ()->get (RequestInterface::class);
34
+ $ this ->_model = Bootstrap::getObjectManager ()->create (UrlInterface::class);
26
35
}
27
36
28
37
/**
@@ -34,6 +43,16 @@ public function testGetUrl()
34
43
{
35
44
$ url = $ this ->_model ->getUrl ('adminhtml/auth/login ' );
36
45
$ this ->assertContains ('admin/auth/login/key/ ' , $ url );
46
+
47
+ $ this ->request ->setParams (['param ' => 'ab== ' ]);
48
+ $ routeParams = [
49
+ '_current ' => true ,
50
+ '_escape_params ' => true ,
51
+ ];
52
+ $ url = $ this ->_model ->getUrl ('path ' , $ routeParams );
53
+ /** @var ParamEncoder $paramEncoder */
54
+ $ paramEncoder = Bootstrap::getObjectManager ()->get (ParamEncoder::class);
55
+ $ this ->assertContains ('/param/ ' . $ paramEncoder ->encode ('ab== ' ) . '/ ' , $ url );
37
56
}
38
57
39
58
/**
@@ -46,20 +65,17 @@ public function testGetUrl()
46
65
*/
47
66
public function testGetSecretKey ($ routeName , $ controller , $ action , $ expectedHash )
48
67
{
49
- /** @var $request \Magento\Framework\App\RequestInterface */
50
- $ request = \Magento \TestFramework \Helper \Bootstrap::getObjectManager ()
51
- ->create ('Magento\Framework\App\RequestInterface ' );
52
- $ request ->setControllerName (
68
+ $ this ->request ->setControllerName (
53
69
'default_controller '
54
70
)->setActionName (
55
71
'default_action '
56
72
)->setRouteName (
57
73
'default_router '
58
74
);
59
75
60
- $ this ->_model ->setRequest ($ request );
61
- \ Magento \ TestFramework \ Helper \ Bootstrap::getObjectManager ()->get (
62
- ' Magento\Framework\Session\ SessionManagerInterface'
76
+ $ this ->_model ->setRequest ($ this -> request );
77
+ Bootstrap::getObjectManager ()->get (
78
+ SessionManagerInterface::class
63
79
)->setData (
64
80
'_form_key ' ,
65
81
'salt '
@@ -72,10 +88,8 @@ public function testGetSecretKey($routeName, $controller, $action, $expectedHash
72
88
*/
73
89
public function getSecretKeyDataProvider ()
74
90
{
75
- $ objectManager = \Magento \TestFramework \Helper \Bootstrap::getObjectManager ();
76
-
77
- /** @var $encryptor \Magento\Framework\Encryption\EncryptorInterface */
78
- $ encryptor = $ objectManager ->get ('Magento\Framework\Encryption\EncryptorInterface ' );
91
+ /** @var $encryptor EncryptorInterface */
92
+ $ encryptor = Bootstrap::getObjectManager ()->get (EncryptorInterface::class);
79
93
80
94
return [
81
95
[
@@ -129,19 +143,14 @@ public function getSecretKeyDataProvider()
129
143
*/
130
144
public function testGetSecretKeyForwarded ()
131
145
{
132
- $ objectManager = \Magento \TestFramework \Helper \Bootstrap::getObjectManager ();
133
-
134
- /** @var $encryptor \Magento\Framework\Encryption\EncryptorInterface */
135
- $ encryptor = $ objectManager ->get ('Magento\Framework\Encryption\EncryptorInterface ' );
146
+ /** @var $encryptor EncryptorInterface */
147
+ $ encryptor = Bootstrap::getObjectManager ()->get (EncryptorInterface::class);
136
148
137
- /** @var $request \Magento\Framework\App\Request\Http */
138
- $ request = \Magento \TestFramework \Helper \Bootstrap::getObjectManager ()
139
- ->create ('Magento\Framework\App\RequestInterface ' );
140
- $ request ->setControllerName ('controller ' )->setActionName ('action ' );
141
- $ request ->initForward ()->setControllerName (uniqid ())->setActionName (uniqid ());
142
- $ this ->_model ->setRequest ($ request );
143
- \Magento \TestFramework \Helper \Bootstrap::getObjectManager ()->get (
144
- 'Magento\Framework\Session\SessionManagerInterface '
149
+ $ this ->request ->setControllerName ('controller ' )->setActionName ('action ' );
150
+ $ this ->request ->initForward ()->setControllerName (uniqid ())->setActionName (uniqid ());
151
+ $ this ->_model ->setRequest ($ this ->request );
152
+ Bootstrap::getObjectManager ()->get (
153
+ SessionManagerInterface::class
145
154
)->setData (
146
155
'_form_key ' ,
147
156
'salt '
0 commit comments