Skip to content

Commit 8e95f01

Browse files
committed
MC-13732: Mainline test failure Magento\Reports\Test\TestCase\SalesOrderReportEntityTest
1 parent 8b3fd9d commit 8e95f01

File tree

5 files changed

+64
-35
lines changed

5 files changed

+64
-35
lines changed

app/code/Magento/Reports/Helper/Data.php

Lines changed: 15 additions & 10 deletions
Original file line numberDiff line numberDiff line change
@@ -4,15 +4,13 @@
44
* See COPYING.txt for license details.
55
*/
66

7-
/**
8-
* Reports data helper
9-
*/
107
namespace Magento\Reports\Helper;
118

129
use Magento\Framework\Data\Collection;
13-
use Magento\Framework\Stdlib\DateTime;
1410

1511
/**
12+
* Reports data helper.
13+
*
1614
* @api
1715
* @since 100.0.2
1816
*/
@@ -63,22 +61,29 @@ public function getIntervals($from, $to, $period = self::REPORT_PERIOD_TYPE_DAY)
6361

6462
$dateStart = new \DateTime($from);
6563
$dateEnd = new \DateTime($to);
64+
$dateFormat = 'Y-m-d';
65+
$dateInterval = new \DateInterval('P1D');
6666
while ($dateStart->diff($dateEnd)->invert == 0) {
6767
switch ($period) {
6868
case self::REPORT_PERIOD_TYPE_DAY:
69-
$intervals[] = $dateStart->format('Y-m-d');
70-
$dateStart->add(new \DateInterval('P1D'));
7169
break;
7270
case self::REPORT_PERIOD_TYPE_MONTH:
73-
$intervals[] = $dateStart->format('Y-m');
74-
$dateStart->add(new \DateInterval('P1M'));
71+
$dateFormat = 'Y-m';
72+
$dateInterval = new \DateInterval('P1M');
7573
break;
7674
case self::REPORT_PERIOD_TYPE_YEAR:
77-
$intervals[] = $dateStart->format('Y');
78-
$dateStart->add(new \DateInterval('P1Y'));
75+
$dateFormat = 'Y';
76+
$dateInterval = new \DateInterval('P1Y');
7977
break;
8078
}
79+
$intervals[] = $dateStart->format($dateFormat);
80+
$dateStart->add($dateInterval);
8181
}
82+
83+
if (!in_array($dateEnd->format($dateFormat), $intervals)) {
84+
$intervals[] = $dateEnd->format($dateFormat);
85+
}
86+
8287
return $intervals;
8388
}
8489

app/code/Magento/Reports/Test/Unit/Helper/DataTest.php

Lines changed: 34 additions & 21 deletions
Original file line numberDiff line numberDiff line change
@@ -6,34 +6,41 @@
66

77
namespace Magento\Reports\Test\Unit\Helper;
88

9+
use Magento\Framework\App\Helper\Context;
10+
use Magento\Framework\Data\Collection;
911
use Magento\Reports\Helper\Data;
12+
use Magento\Reports\Model\Item;
13+
use Magento\Reports\Model\ItemFactory;
1014

15+
/**
16+
* Unit tests for \Magento\Reports\Helper\Data class.
17+
*/
1118
class DataTest extends \PHPUnit\Framework\TestCase
1219
{
1320
/**
14-
* @var \Magento\Reports\Helper\Data
21+
* @var Data
1522
*/
1623
protected $data;
1724

1825
/**
19-
* @var \Magento\Framework\App\Helper\Context|\PHPUnit_Framework_MockObject_MockObject
26+
* @var Context|\PHPUnit_Framework_MockObject_MockObject
2027
*/
2128
protected $contextMock;
2229

2330
/**
24-
* @var \Magento\Reports\Model\ItemFactory|\PHPUnit_Framework_MockObject_MockObject
31+
* @var ItemFactory|\PHPUnit_Framework_MockObject_MockObject
2532
*/
2633
protected $itemFactoryMock;
2734

2835
/**
29-
* {@inheritDoc}
36+
* @inheritdoc
3037
*/
3138
protected function setUp()
3239
{
33-
$this->contextMock = $this->getMockBuilder(\Magento\Framework\App\Helper\Context::class)
40+
$this->contextMock = $this->getMockBuilder(Context::class)
3441
->disableOriginalConstructor()
3542
->getMock();
36-
$this->itemFactoryMock = $this->getMockBuilder(\Magento\Reports\Model\ItemFactory::class)
43+
$this->itemFactoryMock = $this->getMockBuilder(ItemFactory::class)
3744
->setMethods(['create'])
3845
->disableOriginalConstructor()
3946
->getMock();
@@ -67,12 +74,12 @@ public function testGetIntervals($from, $to, $period, $results)
6774
*/
6875
public function testPrepareIntervalsCollection($from, $to, $period, $results)
6976
{
70-
$collection = $this->getMockBuilder(\Magento\Framework\Data\Collection::class)
77+
$collection = $this->getMockBuilder(Collection::class)
7178
->disableOriginalConstructor()
7279
->setMethods(['addItem'])
7380
->getMock();
7481

75-
$item = $this->getMockBuilder(\Magento\Reports\Model\Item::class)
82+
$item = $this->getMockBuilder(Item::class)
7683
->disableOriginalConstructor()
7784
->setMethods(['setPeriod', 'setIsEmpty'])
7885
->getMock();
@@ -103,44 +110,50 @@ public function intervalsDataProvider()
103110
[
104111
'from' => '2000-01-15 10:00:00',
105112
'to' => '2000-01-15 11:00:00',
106-
'period' => \Magento\Reports\Helper\Data::REPORT_PERIOD_TYPE_DAY,
107-
'results' => ['2000-01-15']
113+
'period' => Data::REPORT_PERIOD_TYPE_DAY,
114+
'results' => ['2000-01-15'],
108115
],
109116
[
110117
'from' => '2000-01-15 10:00:00',
111118
'to' => '2000-01-17 10:00:00',
112-
'period' => \Magento\Reports\Helper\Data::REPORT_PERIOD_TYPE_MONTH,
113-
'results' => ['2000-01']
119+
'period' => Data::REPORT_PERIOD_TYPE_MONTH,
120+
'results' => ['2000-01'],
114121
],
115122
[
116123
'from' => '2000-01-15 10:00:00',
117124
'to' => '2000-02-15 10:00:00',
118-
'period' => \Magento\Reports\Helper\Data::REPORT_PERIOD_TYPE_YEAR,
125+
'period' => Data::REPORT_PERIOD_TYPE_YEAR,
119126
'results' => ['2000']
120127
],
121128
[
122129
'from' => '2000-01-15 10:00:00',
123130
'to' => '2000-01-16 11:00:00',
124-
'period' => \Magento\Reports\Helper\Data::REPORT_PERIOD_TYPE_DAY,
125-
'results' => ['2000-01-15', '2000-01-16']
131+
'period' => Data::REPORT_PERIOD_TYPE_DAY,
132+
'results' => ['2000-01-15', '2000-01-16'],
126133
],
127134
[
128135
'from' => '2000-01-15 10:00:00',
129136
'to' => '2000-02-17 10:00:00',
130-
'period' => \Magento\Reports\Helper\Data::REPORT_PERIOD_TYPE_MONTH,
131-
'results' => ['2000-01', '2000-02']
137+
'period' => Data::REPORT_PERIOD_TYPE_MONTH,
138+
'results' => ['2000-01', '2000-02'],
132139
],
133140
[
134141
'from' => '2000-01-15 10:00:00',
135142
'to' => '2003-02-15 10:00:00',
136-
'period' => \Magento\Reports\Helper\Data::REPORT_PERIOD_TYPE_YEAR,
137-
'results' => ['2000', '2001', '2002', '2003']
143+
'period' => Data::REPORT_PERIOD_TYPE_YEAR,
144+
'results' => ['2000', '2001', '2002', '2003'],
145+
],
146+
[
147+
'from' => '2000-12-31 10:00:00',
148+
'to' => '2001-01-01 10:00:00',
149+
'period' => Data::REPORT_PERIOD_TYPE_YEAR,
150+
'results' => ['2000', '2001'],
138151
],
139152
[
140153
'from' => '',
141154
'to' => '',
142-
'period' => \Magento\Reports\Helper\Data::REPORT_PERIOD_TYPE_YEAR,
143-
'results' => []
155+
'period' => Data::REPORT_PERIOD_TYPE_YEAR,
156+
'results' => [],
144157
]
145158
];
146159
}

dev/tests/functional/tests/app/Magento/Reports/Test/Constraint/AssertReportStatisticsNoticeMessage.php

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -38,6 +38,7 @@ public function processAssert(
3838
$this->salesReportPage = $salesReportPage;
3939
$this->searchInSalesReportGrid($salesReport);
4040
$date = $this->getLastUpdatedDate();
41+
$currentDate->setTimezone(new \DateTimeZone($_ENV['magento_timezone']));
4142
$currentDateTime = $currentDate->format('M j, Y, g');
4243
$displayedDateTime = date('M j, Y, g', strtotime($date));
4344
\PHPUnit\Framework\Assert::assertEquals(

dev/tests/functional/tests/app/Magento/Reports/Test/TestCase/SalesOrderReportEntityTest.xml

Lines changed: 14 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -22,7 +22,6 @@
2222
<constraint name="Magento\Reports\Test\Constraint\AssertReportStatisticsNoticeMessage" />
2323
</variation>
2424
<variation name="SalesOrderReportEntityTestVariation2">
25-
<data name="tag" xsi:type="string">stable:no</data>
2625
<data name="order/dataset" xsi:type="string">default</data>
2726
<data name="order/data/price/dataset" xsi:type="string">full_invoice</data>
2827
<data name="salesReport/report_type" xsi:type="string">Order Created</data>
@@ -36,7 +35,6 @@
3635
<constraint name="Magento\Reports\Test\Constraint\AssertSalesReportTotalResult" />
3736
</variation>
3837
<variation name="SalesOrderReportEntityTestVariation3">
39-
<data name="tag" xsi:type="string">stable:no</data>
4038
<data name="order/dataset" xsi:type="string">default</data>
4139
<data name="order/data/price/dataset" xsi:type="string">full_invoice</data>
4240
<data name="salesReport/report_type" xsi:type="string">Order Updated</data>
@@ -50,5 +48,19 @@
5048
<constraint name="Magento\Reports\Test\Constraint\AssertSalesReportIntervalResult" />
5149
<constraint name="Magento\Reports\Test\Constraint\AssertSalesReportTotalResult" />
5250
</variation>
51+
<variation name="SalesOrderReportEntityTestVariation4">
52+
<data name="order/dataset" xsi:type="string">default</data>
53+
<data name="order/data/price/dataset" xsi:type="string">full_invoice</data>
54+
<data name="salesReport/report_type" xsi:type="string">Order Created</data>
55+
<data name="salesReport/period_type" xsi:type="string">Year</data>
56+
<data name="salesReport/from" xsi:type="string">12/31/Y 12:00 a-1 year</data>
57+
<data name="salesReport/to" xsi:type="string">m/d/Y 12:00</data>
58+
<data name="salesReport/show_order_statuses" xsi:type="string">Any</data>
59+
<data name="salesReport/show_empty_rows" xsi:type="string">Yes</data>
60+
<data name="salesReport/show_actual_columns" xsi:type="string">No</data>
61+
<constraint name="Magento\Reports\Test\Constraint\AssertSalesReportIntervalResult" />
62+
<constraint name="Magento\Reports\Test\Constraint\AssertSalesReportTotalResult" />
63+
<constraint name="Magento\Reports\Test\Constraint\AssertReportStatisticsNoticeMessage" />
64+
</variation>
5365
</testCase>
5466
</config>

dev/tests/functional/tests/app/Magento/Reports/Test/TestCase/SalesRefundsReportEntityTest.xml

Lines changed: 0 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -20,7 +20,6 @@
2020
<constraint name="Magento\Reports\Test\Constraint\AssertRefundReportIntervalResult" />
2121
</variation>
2222
<variation name="SalesRefundsReportEntityTestVariation2">
23-
<data name="tag" xsi:type="string">stable:no</data>
2423
<data name="description" xsi:type="string">assert refunds month report</data>
2524
<data name="order/dataset" xsi:type="string">default</data>
2625
<data name="order/data/price/dataset" xsi:type="string">full_invoice</data>
@@ -33,7 +32,6 @@
3332
<constraint name="Magento\Reports\Test\Constraint\AssertRefundReportIntervalResult" />
3433
</variation>
3534
<variation name="SalesRefundsReportEntityTestVariation3">
36-
<data name="tag" xsi:type="string">stable:no</data>
3735
<data name="description" xsi:type="string">assert refund Daily report</data>
3836
<data name="order/dataset" xsi:type="string">default</data>
3937
<data name="order/data/price/dataset" xsi:type="string">full_invoice</data>

0 commit comments

Comments
 (0)