13
13
*/
14
14
class ScheduleTest extends \PHPUnit \Framework \TestCase
15
15
{
16
+ /**
17
+ * @var \Magento\Framework\TestFramework\Unit\Helper\ObjectManager
18
+ */
16
19
protected $ helper ;
17
20
18
21
protected $ resourceJobMock ;
@@ -174,6 +177,35 @@ public function testTrySchedule($scheduledAt, $cronExprArr, $expected)
174
177
$ this ->assertEquals ($ expected , $ result );
175
178
}
176
179
180
+ public function testTryScheduleWithConversionToAdminStoreTime ()
181
+ {
182
+ $ scheduledAt = '2011-12-13 14:15:16 ' ;
183
+ $ cronExprArr = ['* ' , '* ' , '* ' , '* ' , '* ' ];
184
+
185
+ // 1. Create mocks
186
+ $ timezoneConverter = $ this ->createMock (\Magento \Framework \Stdlib \DateTime \TimezoneInterface::class);
187
+ $ timezoneConverter ->expects ($ this ->once ())
188
+ ->method ('date ' )
189
+ ->with ($ scheduledAt )
190
+ ->willReturn (new \DateTime ($ scheduledAt ));
191
+
192
+ /** @var \Magento\Cron\Model\Schedule $model */
193
+ $ model = $ this ->helper ->getObject (
194
+ \Magento \Cron \Model \Schedule::class,
195
+ ['timezoneConverter ' => $ timezoneConverter ]
196
+ );
197
+
198
+ // 2. Set fixtures
199
+ $ model ->setScheduledAt ($ scheduledAt );
200
+ $ model ->setCronExprArr ($ cronExprArr );
201
+
202
+ // 3. Run tested method
203
+ $ result = $ model ->trySchedule ();
204
+
205
+ // 4. Compare actual result with expected result
206
+ $ this ->assertTrue ($ result );
207
+ }
208
+
177
209
/**
178
210
* @return array
179
211
*/
@@ -187,7 +219,6 @@ public function tryScheduleDataProvider()
187
219
[$ date , [], false ],
188
220
[$ date , null , false ],
189
221
[$ date , false , false ],
190
- [$ date , ['* ' , '* ' , '* ' , '* ' , '* ' ], true ],
191
222
[strtotime ($ date ), ['* ' , '* ' , '* ' , '* ' , '* ' ], true ],
192
223
[strtotime ($ date ), ['15 ' , '* ' , '* ' , '* ' , '* ' ], true ],
193
224
[strtotime ($ date ), ['* ' , '14 ' , '* ' , '* ' , '* ' ], true ],
0 commit comments