6
6
namespace Magento \Theme \Test \Unit \Model \Source ;
7
7
8
8
use Magento \Framework \App \DeploymentConfig ;
9
+ use Magento \Framework \DataObject ;
9
10
use Magento \Theme \Model \ResourceModel \Theme ;
10
11
use Magento \Theme \Model \ResourceModel \ThemeFactory ;
11
12
use Magento \Theme \Model \Source \InitialThemeSource ;
12
13
use Magento \Framework \DB \Adapter \AdapterInterface ;
13
14
use PHPUnit_Framework_MockObject_MockObject as Mock ;
14
15
use Magento \Framework \DB \Select ;
16
+ use Magento \Framework \DataObject \Factory as DataObjectFactory ;
15
17
16
18
class InitialThemeSourceTest extends \PHPUnit_Framework_TestCase
17
19
{
@@ -30,6 +32,16 @@ class InitialThemeSourceTest extends \PHPUnit_Framework_TestCase
30
32
*/
31
33
private $ themeFactoryMock ;
32
34
35
+ /**
36
+ * @var DataObjectFactory|Mock
37
+ */
38
+ private $ dataObjectFactoryMock ;
39
+
40
+ /**
41
+ * @var DataObject|Mock
42
+ */
43
+ private $ dataObjectMock ;
44
+
33
45
/**
34
46
* @var Theme|Mock
35
47
*/
@@ -62,6 +74,12 @@ protected function setUp()
62
74
->getMock ();
63
75
$ this ->connectionMock = $ this ->getMockBuilder (AdapterInterface::class)
64
76
->getMockForAbstractClass ();
77
+ $ this ->dataObjectFactoryMock = $ this ->getMockBuilder (DataObjectFactory::class)
78
+ ->disableOriginalConstructor ()
79
+ ->getMock ();
80
+ $ this ->dataObjectMock = $ this ->getMockBuilder (DataObject::class)
81
+ ->disableOriginalConstructor ()
82
+ ->getMock ();
65
83
66
84
$ this ->themeMock ->expects ($ this ->any ())
67
85
->method ('getConnection ' )
@@ -81,7 +99,8 @@ protected function setUp()
81
99
82
100
$ this ->model = new InitialThemeSource (
83
101
$ this ->deploymentConfigMock ,
84
- $ this ->themeFactoryMock
102
+ $ this ->themeFactoryMock ,
103
+ $ this ->dataObjectFactoryMock
85
104
);
86
105
}
87
106
@@ -138,41 +157,46 @@ public function testGet()
138
157
],
139
158
]
140
159
);
160
+ $ this ->dataObjectFactoryMock ->expects ($ this ->once ())
161
+ ->method ('create ' )
162
+ ->with (
163
+ [
164
+ 'Magento/backend ' => [
165
+ 'parent_id ' => null ,
166
+ 'theme_path ' => 'Magento/backend ' ,
167
+ 'theme_title ' => 'Magento 2 backend ' ,
168
+ 'preview_image ' => null ,
169
+ 'is_featured ' => '0 ' ,
170
+ 'area ' => 'adminhtml ' ,
171
+ 'type ' => '0 ' ,
172
+ 'code ' => 'Magento/backend ' ,
173
+ ],
174
+ 'Magento/blank ' => [
175
+ 'parent_id ' => null ,
176
+ 'theme_path ' => 'Magento/blank ' ,
177
+ 'theme_title ' => 'Magento Blank ' ,
178
+ 'preview_image ' => 'preview_image_587df6c4cc9c2.jpeg ' ,
179
+ 'is_featured ' => '0 ' ,
180
+ 'area ' => 'frontend ' ,
181
+ 'type ' => '0 ' ,
182
+ 'code ' => 'Magento/blank ' ,
183
+ ],
184
+ 'Magento/luma ' => [
185
+ 'parent_id ' => 'Magento/blank ' ,
186
+ 'theme_path ' => 'Magento/luma ' ,
187
+ 'theme_title ' => 'Magento Luma ' ,
188
+ 'preview_image ' => 'preview_image_587df6c4e073d.jpeg ' ,
189
+ 'is_featured ' => '0 ' ,
190
+ 'area ' => 'frontend ' ,
191
+ 'type ' => '0 ' ,
192
+ 'code ' => 'Magento/luma ' ,
193
+ ],
194
+ ]
195
+ )
196
+ ->willReturn ($ this ->dataObjectMock );
197
+ $ this ->dataObjectMock ->expects ($ this ->once ())
198
+ ->method ('getData ' );
141
199
142
- $ this ->assertSame (
143
- [
144
- 'Magento/backend ' => [
145
- 'parent_id ' => null ,
146
- 'theme_path ' => 'Magento/backend ' ,
147
- 'theme_title ' => 'Magento 2 backend ' ,
148
- 'preview_image ' => null ,
149
- 'is_featured ' => '0 ' ,
150
- 'area ' => 'adminhtml ' ,
151
- 'type ' => '0 ' ,
152
- 'code ' => 'Magento/backend ' ,
153
- ],
154
- 'Magento/blank ' => [
155
- 'parent_id ' => null ,
156
- 'theme_path ' => 'Magento/blank ' ,
157
- 'theme_title ' => 'Magento Blank ' ,
158
- 'preview_image ' => 'preview_image_587df6c4cc9c2.jpeg ' ,
159
- 'is_featured ' => '0 ' ,
160
- 'area ' => 'frontend ' ,
161
- 'type ' => '0 ' ,
162
- 'code ' => 'Magento/blank ' ,
163
- ],
164
- 'Magento/luma ' => [
165
- 'parent_id ' => 'Magento/blank ' ,
166
- 'theme_path ' => 'Magento/luma ' ,
167
- 'theme_title ' => 'Magento Luma ' ,
168
- 'preview_image ' => 'preview_image_587df6c4e073d.jpeg ' ,
169
- 'is_featured ' => '0 ' ,
170
- 'area ' => 'frontend ' ,
171
- 'type ' => '0 ' ,
172
- 'code ' => 'Magento/luma ' ,
173
- ],
174
- ],
175
- $ this ->model ->get ()
176
- );
200
+ $ this ->model ->get ();
177
201
}
178
202
}
0 commit comments