Skip to content

Commit 2410cbb

Browse files
fix static, test coverage
1 parent 2ec8bf5 commit 2410cbb

File tree

2 files changed

+72
-24
lines changed
  • app/code/Magento/Reports/Block/Adminhtml/Config/Form/Field
  • dev/tests/integration/testsuite/Magento/Reports/Block/Adminhtml/Config/Form/Field

2 files changed

+72
-24
lines changed

app/code/Magento/Reports/Block/Adminhtml/Config/Form/Field/YtdStart.php

Lines changed: 14 additions & 24 deletions
Original file line numberDiff line numberDiff line change
@@ -5,14 +5,13 @@
55
*/
66
namespace Magento\Reports\Block\Adminhtml\Config\Form\Field;
77

8+
use Magento\Config\Block\System\Config\Form\Field;
89
use Magento\Framework\Data\Form\Element\AbstractElement;
910

1011
/**
1112
* Dashboard Year-To-Date Month and Day starts Field Renderer
12-
*
13-
* @author Magento Core Team <[email protected]>
1413
*/
15-
class YtdStart extends \Magento\Config\Block\System\Config\Form\Field
14+
class YtdStart extends Field
1615
{
1716
/**
1817
* Get Month and Day Element
@@ -25,38 +24,29 @@ protected function _getElementHtml(AbstractElement $element)
2524
{
2625
$_months = [];
2726
for ($i = 1; $i <= 12; $i++) {
28-
$month = $this->_localeDate->date(mktime(null, null, null, $i, 1))->format('m');
27+
$month = $this->_localeDate->date(mktime(null, null, null, $i, 1))
28+
->format('m');
2929
$_months[$month] = $month;
3030
}
3131
ksort($_months);
32+
3233
$_days = [];
3334
for ($i = 1; $i <= 31; $i++) {
3435
$_days[$i] = $i < 10 ? '0' . $i : $i;
3536
}
3637

37-
if ($element->getValue()) {
38-
$values = explode(',', $element->getValue());
39-
} else {
40-
$values = [];
41-
}
42-
38+
$values = $element->getValue() ? explode(',', $element->getValue()) : [];
4339
$element->setName($element->getName() . '[]');
4440

45-
$_monthsHtml = $element->setStyle(
46-
'width:100px;'
47-
)->setValues(
48-
$_months
49-
)->setValue(
50-
isset($values[0]) ? $values[0] : null
51-
)->getElementHtml();
41+
$_monthsHtml = $element->setStyle('width:100px;')
42+
->setValues($_months)
43+
->setValue(isset($values[0]) ? $values[0] : null)
44+
->getElementHtml();
5245

53-
$_daysHtml = $element->setStyle(
54-
'width:50px;'
55-
)->setValues(
56-
$_days
57-
)->setValue(
58-
isset($values[1]) ? $values[1] : null
59-
)->getElementHtml();
46+
$_daysHtml = $element->setStyle('width:50px;')
47+
->setValues($_days)
48+
->setValue(isset($values[1]) ? $values[1] : null)
49+
->getElementHtml();
6050

6151
return sprintf('%s %s', $_monthsHtml, $_daysHtml);
6252
}
Lines changed: 58 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,58 @@
1+
<?php
2+
/**
3+
* Copyright © Magento, Inc. All rights reserved.
4+
* See COPYING.txt for license details.
5+
*/
6+
declare(strict_types=1);
7+
8+
namespace Magento\Reports\Block\Adminhtml\Config\Form\Field;
9+
10+
use Magento\TestFramework\TestCase\AbstractBackendController;
11+
12+
/**
13+
* Test for \Magento\Reports\Block\Adminhtml\Config\Form\Field\YtdStart.
14+
*
15+
* @magentoAppArea adminhtml
16+
*/
17+
class YtdStartTest extends AbstractBackendController
18+
{
19+
/**
20+
* @var array
21+
*/
22+
private $monthNumbers = ['01', '02', '03', '04', '05', '06', '07', '08', '09', '10', '11', '12'];
23+
24+
/**
25+
* Test Get Month and Day Element renderer
26+
*
27+
* @return void
28+
* @magentoAppIsolation enabled
29+
* @magentoDbIsolation enabled
30+
*/
31+
public function testGetElementHtml(): void
32+
{
33+
$this->dispatch('backend/admin/system_config/edit/section/reports/');
34+
$body = $this->getResponse()->getBody();
35+
36+
$this->assertContains($this->getOptionsHtml('01'), $body);
37+
}
38+
39+
/**
40+
* Options html
41+
*
42+
* @param string $selected
43+
* @return string
44+
*/
45+
private function getOptionsHtml(string $selected): string
46+
{
47+
$html = '';
48+
foreach ($this->monthNumbers as $number) {
49+
$html .= $number === $selected
50+
? '<option value="' . $selected . '" selected="selected">' . $selected . '</option>'
51+
: '<option value="' . $number . '">' . $number . '</option>';
52+
53+
$html .= PHP_EOL;
54+
}
55+
56+
return $html;
57+
}
58+
}

0 commit comments

Comments
 (0)