77
88namespace Magento \Backend \Model \Dashboard ;
99
10+ use Magento \Framework \ObjectManagerInterface ;
1011use Magento \TestFramework \Helper \Bootstrap ;
1112use PHPUnit \Framework \TestCase ;
13+ use Magento \Sales \Model \Order ;
14+ use Magento \Sales \Model \Order \Payment ;
15+ use Magento \Framework \Stdlib \DateTime \TimezoneInterface ;
16+ use Magento \Framework \Stdlib \DateTime ;
1217
1318/**
1419 * Verify chart data by different period.
1722 */
1823class ChartTest extends TestCase
1924{
25+ /**
26+ * @var ObjectManagerInterface
27+ */
28+ private $ objectManager ;
29+
2030 /**
2131 * @var Chart
2232 */
@@ -27,7 +37,8 @@ class ChartTest extends TestCase
2737 */
2838 protected function setUp (): void
2939 {
30- $ this ->model = Bootstrap::getObjectManager ()->create (Chart::class);
40+ $ this ->objectManager = Bootstrap::getObjectManager ();
41+ $ this ->model = $ this ->objectManager ->get (Chart::class);
3142 }
3243
3344 /**
@@ -39,6 +50,20 @@ protected function setUp(): void
3950 */
4051 public function testGetByPeriodWithParam (int $ expectedDataQty , string $ period , string $ chartParam ): void
4152 {
53+ $ timezoneLocal = $ this ->objectManager ->get (TimezoneInterface::class)->getConfigTimezone ();
54+ $ order = $ this ->objectManager ->get (Order::class);
55+ $ order ->loadByIncrementId ('100000002 ' );
56+ $ payment = $ this ->objectManager ->get (Payment::class);
57+ $ payment ->setMethod ('checkmo ' );
58+ $ payment ->setAdditionalInformation ('last_trans_id ' , '11122 ' );
59+ $ payment ->setAdditionalInformation ('metadata ' , [
60+ 'type ' => 'free ' ,
61+ 'fraudulent ' => false
62+ ]);
63+ $ dateTime = new \DateTime ('now ' , new \DateTimeZone ($ timezoneLocal ));
64+ $ order ->setCreatedAt ($ dateTime ->modify ('-1 hour ' )->format (DateTime::DATETIME_PHP_FORMAT ));
65+ $ order ->setPayment ($ payment );
66+ $ order ->save ();
4267 $ ordersData = $ this ->model ->getByPeriod ($ period , $ chartParam );
4368 $ ordersCount = array_sum (array_map (function ($ item ) {
4469 return $ item ['y ' ];
@@ -70,12 +95,12 @@ public function getChartDataProvider(): array
7095 'quantity '
7196 ],
7297 [
73- 4 ,
98+ 5 ,
7499 '1y ' ,
75100 'quantity '
76101 ],
77102 [
78- 5 ,
103+ 6 ,
79104 '2y ' ,
80105 'quantity '
81106 ]
0 commit comments