@@ -187,4 +187,119 @@ public function testToModel()
187
187
$ result = $ this ->model ->toModel ($ dataModel );
188
188
$ this ->assertEquals ($ ruleModel , $ result );
189
189
}
190
+
191
+ /**
192
+ * @dataProvider expectedDatesProvider
193
+ */
194
+ public function testFormattingDate ($ data )
195
+ {
196
+ /**
197
+ * @var \Magento\SalesRule\Model\Data\Rule|\PHPUnit_Framework_MockObject_MockObject $dataModel
198
+ */
199
+ $ dataModel = $ this ->getMockBuilder (\Magento \SalesRule \Model \Data \Rule::class)
200
+ ->disableOriginalConstructor ()
201
+ ->setMethods (
202
+ [
203
+ 'create ' ,
204
+ 'load ' ,
205
+ 'getData ' ,
206
+ 'getRuleId ' ,
207
+ 'getCondition ' ,
208
+ 'getActionCondition ' ,
209
+ 'getStoreLabels ' ,
210
+ 'getFromDate ' ,
211
+ 'setFromDate ' ,
212
+ 'getToDate ' ,
213
+ 'setToDate ' ,
214
+ ])
215
+ ->getMock ();
216
+ $ dataModel
217
+ ->expects ($ this ->atLeastOnce ())
218
+ ->method ('getRuleId ' )
219
+ ->willReturn (null );
220
+
221
+ $ dataModel
222
+ ->expects ($ this ->atLeastOnce ())
223
+ ->method ('getCondition ' )
224
+ ->willReturn (false );
225
+
226
+ $ dataModel
227
+ ->expects ($ this ->atLeastOnce ())
228
+ ->method ('getActionCondition ' )
229
+ ->willReturn (false );
230
+ $ dataModel
231
+ ->expects ($ this ->atLeastOnce ())
232
+ ->method ('getStoreLabels ' )
233
+ ->willReturn ([]);
234
+ $ ruleModel = $ this ->getMockBuilder ('\Magento\SalesRule\Model\Rule ' )
235
+ ->disableOriginalConstructor ()
236
+ ->setMethods (['create ' , 'load ' , 'getId ' , 'getData ' ])
237
+ ->getMock ();
238
+ $ ruleModel
239
+ ->expects ($ this ->atLeastOnce ())
240
+ ->method ('getData ' )
241
+ ->willReturn (['data_1 ' =>1 ]);
242
+
243
+ $ this ->dataObjectProcessor
244
+ ->expects ($ this ->any ())
245
+ ->method ('buildOutputDataArray ' )
246
+ ->willReturn (['data_2 ' =>2 ]);
247
+
248
+ $ this ->ruleFactory
249
+ ->expects ($ this ->any ())
250
+ ->method ('create ' )
251
+ ->willReturn ($ ruleModel );
252
+
253
+ $ dataModel
254
+ ->expects ($ this ->atLeastOnce ())
255
+ ->method ('getFromDate ' )
256
+ ->willReturn ($ data ['from_date ' ]);
257
+
258
+ $ dataModel
259
+ ->expects ($ this ->atLeastOnce ())
260
+ ->method ('getToDate ' )
261
+ ->willReturn ($ data ['to_date ' ]);
262
+
263
+ $ dataModel
264
+ ->expects ($ this ->atLeastOnce ())
265
+ ->method ('setFromDate ' )
266
+ ->with ($ data ['expected_from_date ' ]);
267
+
268
+ $ dataModel
269
+ ->expects ($ this ->atLeastOnce ())
270
+ ->method ('setToDate ' )
271
+ ->with ($ data ['expected_to_date ' ]);
272
+
273
+ $ this ->model ->toModel ($ dataModel );
274
+ }
275
+
276
+ public function expectedDatesProvider ()
277
+ {
278
+ return [
279
+ 'mm/dd/yyyy to yyyy-mm-dd ' => [
280
+ [
281
+ 'from_date ' => '03/24/2016 ' ,
282
+ 'to_date ' => '03/25/2016 ' ,
283
+ 'expected_from_date ' => '2016-03-24T00:00:00-0700 ' ,
284
+ 'expected_to_date ' => '2016-03-25T00:00:00-0700 ' ,
285
+ ]
286
+ ],
287
+ 'yyyy-mm-dd to yyyy-mm-dd ' => [
288
+ [
289
+ 'from_date ' => '2016-03-24 ' ,
290
+ 'to_date ' => '2016-03-25 ' ,
291
+ 'expected_from_date ' => '2016-03-24T00:00:00-0700 ' ,
292
+ 'expected_to_date ' => '2016-03-25T00:00:00-0700 ' ,
293
+ ]
294
+ ],
295
+ 'yymmdd to yyyy-mm-dd ' => [
296
+ [
297
+ 'from_date ' => '20160324 ' ,
298
+ 'to_date ' => '20160325 ' ,
299
+ 'expected_from_date ' => '2016-03-24T00:00:00-0700 ' ,
300
+ 'expected_to_date ' => '2016-03-25T00:00:00-0700 ' ,
301
+ ]
302
+ ],
303
+ ];
304
+ }
190
305
}
0 commit comments