1313 */
1414class ScheduleTest extends \PHPUnit \Framework \TestCase
1515{
16+ /**
17+ * @var \Magento\Framework\TestFramework\Unit\Helper\ObjectManager
18+ */
1619 protected $ helper ;
1720
1821 protected $ resourceJobMock ;
@@ -174,6 +177,35 @@ public function testTrySchedule($scheduledAt, $cronExprArr, $expected)
174177 $ this ->assertEquals ($ expected , $ result );
175178 }
176179
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+
177209 /**
178210 * @return array
179211 */
@@ -187,7 +219,6 @@ public function tryScheduleDataProvider()
187219 [$ date , [], false ],
188220 [$ date , null , false ],
189221 [$ date , false , false ],
190- [$ date , ['* ' , '* ' , '* ' , '* ' , '* ' ], true ],
191222 [strtotime ($ date ), ['* ' , '* ' , '* ' , '* ' , '* ' ], true ],
192223 [strtotime ($ date ), ['15 ' , '* ' , '* ' , '* ' , '* ' ], true ],
193224 [strtotime ($ date ), ['* ' , '14 ' , '* ' , '* ' , '* ' ], true ],
0 commit comments