Skip to content

Commit f1d995e

Browse files
committed
Merge remote-tracking branch 'github-magento/MAGETWO-70661' into EPAM-PR-6
2 parents 54f6b8d + 2bc8cdf commit f1d995e

File tree

2 files changed

+87
-3
lines changed

2 files changed

+87
-3
lines changed

app/code/Magento/Ui/Model/Export/MetadataProvider.php

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -60,7 +60,7 @@ public function __construct(
6060
Filter $filter,
6161
TimezoneInterface $localeDate,
6262
ResolverInterface $localeResolver,
63-
$dateFormat = 'M j, Y H:i:s A',
63+
$dateFormat = 'M j, Y h:i:s A',
6464
array $data = []
6565
) {
6666
$this->filter = $filter;

app/code/Magento/Ui/Test/Unit/Model/Export/MetadataProviderTest.php

Lines changed: 86 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -6,36 +6,69 @@
66
namespace Magento\Ui\Test\Unit\Model\Export;
77

88
use Magento\Framework\Api\Search\DocumentInterface;
9+
use Magento\Framework\Locale\ResolverInterface;
10+
use Magento\Framework\Stdlib\DateTime\TimezoneInterface;
911
use Magento\Framework\View\Element\UiComponentInterface;
1012
use Magento\Ui\Component\Listing\Columns;
1113
use Magento\Ui\Component\Listing\Columns\Column;
1214
use Magento\Ui\Component\MassAction\Filter;
1315
use Magento\Ui\Model\Export\MetadataProvider;
1416
use Magento\Framework\TestFramework\Unit\Helper\ObjectManager;
1517

18+
/**
19+
* @SuppressWarnings(PHPMD.CouplingBetweenObjects)
20+
*/
1621
class MetadataProviderTest extends \PHPUnit\Framework\TestCase
1722
{
1823
/**
1924
* @var MetadataProvider
2025
*/
21-
protected $model;
26+
private $model;
2227

2328
/**
2429
* @var Filter | \PHPUnit_Framework_MockObject_MockObject
2530
*/
26-
protected $filter;
31+
private $filter;
32+
33+
/**
34+
* @var TimezoneInterface | \PHPUnit_Framework_MockObject_MockObject
35+
*/
36+
private $localeDate;
37+
38+
/**
39+
* @var ResolverInterface | \PHPUnit_Framework_MockObject_MockObject
40+
*/
41+
private $localeResolver;
2742

43+
/**
44+
* @inheritdoc
45+
*/
2846
protected function setUp()
2947
{
3048
$this->filter = $this->getMockBuilder(\Magento\Ui\Component\MassAction\Filter::class)
3149
->disableOriginalConstructor()
3250
->getMock();
3351

52+
$this->localeDate = $this->getMockBuilder(\Magento\Framework\Stdlib\DateTime\TimezoneInterface::class)
53+
->disableOriginalConstructor()
54+
->getMock();
55+
56+
$this->localeResolver = $this->getMockBuilder(\Magento\Framework\Locale\ResolverInterface::class)
57+
->disableOriginalConstructor()
58+
->getMock();
59+
60+
$this->localeResolver->expects($this->any())
61+
->method('getLocale')
62+
->willReturn(null);
63+
3464
$objectManager = new ObjectManager($this);
3565
$this->model = $objectManager->getObject(
3666
\Magento\Ui\Model\Export\MetadataProvider::class,
3767
[
3868
'filter' => $this->filter,
69+
'localeDate' => $this->localeDate,
70+
'localeResolver' => $this->localeResolver,
71+
'data' => ['component_name' => ['field']],
3972
]
4073
);
4174
}
@@ -347,4 +380,55 @@ public function getOptionsDataProvider()
347380
],
348381
];
349382
}
383+
384+
/**
385+
* Test for convertDate function
386+
*
387+
* @param string $fieldValue
388+
* @param string $expected
389+
* @dataProvider convertDateProvider
390+
* @covers \Magento\Ui\Model\Export\MetadataProvider::convertDate()
391+
*/
392+
public function testConvertDate($fieldValue, $expected)
393+
{
394+
$componentName = 'component_name';
395+
/** @var DocumentInterface|\PHPUnit_Framework_MockObject_MockObject $document */
396+
$document = $this->getMockBuilder(\Magento\Framework\DataObject::class)
397+
->disableOriginalConstructor()
398+
->getMock();
399+
400+
$document->expects($this->once())
401+
->method('getData')
402+
->with('field')
403+
->willReturn($fieldValue);
404+
405+
$this->localeDate->expects($this->once())
406+
->method('date')
407+
->willReturn(new \DateTime($fieldValue, new \DateTimeZone('UTC')));
408+
409+
$document->expects($this->once())
410+
->method('setData')
411+
->with('field', $expected);
412+
413+
$this->model->convertDate($document, $componentName);
414+
}
415+
416+
/**
417+
* Data provider for testConvertDate
418+
*
419+
* @return array
420+
*/
421+
public function convertDateProvider()
422+
{
423+
return [
424+
[
425+
'fieldValue' => '@1534505233',
426+
'expected' => 'Aug 17, 2018 11:27:13 AM',
427+
],
428+
[
429+
'fieldValue' => '@1534530000',
430+
'expected' => 'Aug 17, 2018 06:20:00 PM',
431+
],
432+
];
433+
}
350434
}

0 commit comments

Comments
 (0)