@@ -31,6 +31,16 @@ protected function setUp()
31
31
$ this ->validatorMock = $ this ->getMockBuilder (Validator::class)
32
32
->disableOriginalConstructor ()
33
33
->getMock ();
34
+ $ contextMock = $ this ->getMockBuilder (Product::class)
35
+ ->disableOriginalConstructor ()
36
+ ->getMock ();
37
+ $ contextMock ->expects ($ this ->any ())
38
+ ->method ('getMultipleValueSeparator ' )
39
+ ->willReturn (Import::DEFAULT_GLOBAL_MULTI_VALUE_SEPARATOR );
40
+ $ contextMock ->expects ($ this ->any ())
41
+ ->method ('retrieveMessageTemplate ' )
42
+ ->with (Media::ERROR_INVALID_MEDIA_URL_OR_PATH )
43
+ ->willReturn ('%s ' );
34
44
35
45
$ this ->objectManagerHelper = new ObjectManagerHelper ($ this );
36
46
$ this ->media = $ this ->objectManagerHelper ->getObject (
@@ -39,6 +49,7 @@ protected function setUp()
39
49
'validator ' => $ this ->validatorMock
40
50
]
41
51
);
52
+ $ this ->media ->init ($ contextMock );
42
53
}
43
54
44
55
public function testInit ()
@@ -50,26 +61,12 @@ public function testInit()
50
61
/**
51
62
* @param array $data
52
63
* @param array $expected
53
- * @param \Closure|null $validatorCallback
54
64
* @dataProvider isMediaValidDataProvider
55
65
*/
56
- public function testIsValid ($ data , $ expected, \ Closure $ validatorCallback = null )
66
+ public function testIsValid ($ data , $ expected )
57
67
{
58
- if ($ validatorCallback !== null ) {
59
- $ validatorCallback ($ this ->validatorMock );
60
- }
61
-
62
- $ contextMock = $ this ->getMockBuilder (Product::class)
63
- ->disableOriginalConstructor ()
64
- ->getMock ();
65
- $ contextMock ->expects ($ this ->any ())
66
- ->method ('getMultipleValueSeparator ' )
67
- ->willReturn (Import::DEFAULT_GLOBAL_MULTI_VALUE_SEPARATOR );
68
- $ contextMock ->expects ($ this ->any ())
69
- ->method ('retrieveMessageTemplate ' )
70
- ->with (Media::ERROR_INVALID_MEDIA_URL_OR_PATH )
71
- ->willReturn ('%s ' );
72
- $ this ->media ->init ($ contextMock );
68
+ $ this ->validatorMock ->expects ($ this ->never ())
69
+ ->method ('isValid ' );
73
70
74
71
$ result = $ this ->media ->isValid ($ data );
75
72
$ this ->assertEquals ($ expected ['result ' ], $ result );
@@ -91,6 +88,47 @@ public function testIsValidClearMessagesCall()
91
88
$ media ->isValid ([]);
92
89
}
93
90
91
+ /**
92
+ * @param array $data
93
+ * @param array $expected
94
+ * @dataProvider isValidAdditionalImagesPathDataProvider
95
+ */
96
+ public function testIsValidAdditionalImagesPath ($ data , $ expected )
97
+ {
98
+ if ($ expected ['result ' ]) {
99
+ $ this ->validatorMock ->expects ($ this ->never ())
100
+ ->method ('isValid ' );
101
+ } else {
102
+ $ this ->validatorMock ->expects ($ this ->once ())
103
+ ->method ('isValid ' )
104
+ ->with ($ data ['additional_images ' ])
105
+ ->willReturn (false );
106
+ }
107
+
108
+ $ result = $ this ->media ->isValid ($ data );
109
+ $ this ->assertEquals ($ expected ['result ' ], $ result );
110
+ $ messages = $ this ->media ->getMessages ();
111
+ $ this ->assertEquals ($ expected ['messages ' ], $ messages );
112
+ }
113
+
114
+ /**
115
+ * @param array $data
116
+ * @param array $expected
117
+ * @dataProvider isValidAdditionalImagesUrlDataProvider
118
+ */
119
+ public function testIsValidAdditionalImagesUrl ($ data , $ expected )
120
+ {
121
+ $ this ->validatorMock ->expects ($ this ->once ())
122
+ ->method ('isValid ' )
123
+ ->with ($ data ['additional_images ' ])
124
+ ->willReturn ($ expected ['result ' ]);
125
+
126
+ $ result = $ this ->media ->isValid ($ data );
127
+ $ this ->assertEquals ($ expected ['result ' ], $ result );
128
+ $ messages = $ this ->media ->getMessages ();
129
+ $ this ->assertEquals ($ expected ['messages ' ], $ messages );
130
+ }
131
+
94
132
/**
95
133
* @return array
96
134
*/
@@ -109,6 +147,15 @@ public function isMediaValidDataProvider()
109
147
['_media_image ' => 1 ],
110
148
['result ' => true ,'messages ' => []],
111
149
],
150
+ ];
151
+ }
152
+
153
+ /**
154
+ * @return array
155
+ */
156
+ public function isValidAdditionalImagesPathDataProvider ()
157
+ {
158
+ return [
112
159
'additional_images ' => [
113
160
['additional_images ' => 'image1.png,image2.jpg ' ],
114
161
['result ' => true , 'messages ' => []]
@@ -117,26 +164,23 @@ public function isMediaValidDataProvider()
117
164
['additional_images ' => 'image1.png|image2.jpg|image3.gif ' ],
118
165
['result ' => false , 'messages ' => [0 => 'additional_images ' ]]
119
166
],
167
+ ];
168
+ }
169
+
170
+ /**
171
+ * @return array
172
+ */
173
+ public function isValidAdditionalImagesUrlDataProvider ()
174
+ {
175
+ return [
120
176
'additional_images_wrong_domain ' => [
121
177
['additional_images ' => 'https://example/images/some-name.jpg ' ],
122
178
['result ' => false , 'messages ' => [0 => 'additional_images ' ]],
123
- function ($ validatorMock ) {
124
- $ validatorMock ->expects ($ this ->once ())
125
- ->method ('isValid ' )
126
- ->with ('https://example/images/some-name.jpg ' )
127
- ->willReturn (false );
128
- }
129
179
],
130
180
'additional_images_url_multiple_underscores ' => [
131
181
['additional_images ' => 'https://example.com/images/some-name__with___multiple____underscores.jpg ' ],
132
- ['result ' => true , 'messages ' => []],
133
- function ($ validatorMock ) {
134
- $ validatorMock ->expects ($ this ->once ())
135
- ->method ('isValid ' )
136
- ->with ('https://example.com/images/some-name__with___multiple____underscores.jpg ' )
137
- ->willReturn (true );
138
- }
139
- ],
182
+ ['result ' => true , 'messages ' => []]
183
+ ]
140
184
];
141
185
}
142
186
}
0 commit comments