Skip to content

Commit 45c6b82

Browse files
author
Hayder Sharhan
committed
MAGETWO-46846: Unable to use inline translation for checkout in a recommended way
- Added unit test. - Fixed code style
1 parent 8da99cf commit 45c6b82

File tree

2 files changed

+95
-4
lines changed

2 files changed

+95
-4
lines changed

app/code/Magento/Translation/Model/Inline/CacheManager.php

Lines changed: 12 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -11,16 +11,24 @@
1111
*/
1212
class CacheManager
1313
{
14-
/** @var \Magento\Framework\Event\ManagerInterface */
14+
/**
15+
* @var \Magento\Framework\Event\ManagerInterface
16+
*/
1517
protected $eventManager;
1618

17-
/** @var \Magento\Framework\Translate\ResourceInterface */
19+
/**
20+
* @var \Magento\Framework\Translate\ResourceInterface
21+
*/
1822
protected $translateResource;
1923

20-
/** @var \Magento\Framework\Locale\ResolverInterface */
24+
/**
25+
* @var \Magento\Framework\Locale\ResolverInterface
26+
*/
2127
protected $localeResolver;
2228

23-
/** @var \Magento\Translation\Model\FileManager $fileManager */
29+
/**
30+
* @var \Magento\Translation\Model\FileManager
31+
*/
2432
protected $fileManager;
2533

2634
/**
Lines changed: 83 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,83 @@
1+
<?php
2+
/**
3+
* Copyright © 2015 Magento. All rights reserved.
4+
* See COPYING.txt for license details.
5+
*/
6+
7+
namespace Magento\Translation\Test\Unit\Model\Inline;
8+
9+
/**
10+
* @covers \Magento\Translation\Model\Inline\CacheManager
11+
*/
12+
class CacheManagerTest extends \PHPUnit_Framework_TestCase
13+
{
14+
/**
15+
* @var \Magento\Translation\Model\Inline\CacheManager
16+
*/
17+
protected $model;
18+
19+
/**
20+
* @var \Magento\Framework\Event\ManagerInterface|\PHPUnit_Framework_MockObject_MockObject
21+
*/
22+
protected $eventManagerMock;
23+
24+
/**
25+
* @var \Magento\Framework\Translate\ResourceInterface|\PHPUnit_Framework_MockObject_MockObject
26+
*/
27+
protected $translateResourceMock;
28+
29+
/**
30+
* @var \Magento\Framework\Locale\ResolverInterface|\PHPUnit_Framework_MockObject_MockObject
31+
*/
32+
protected $localeResolverMock;
33+
34+
/**
35+
* @var \Magento\Translation\Model\FileManager|\PHPUnit_Framework_MockObject_MockObject
36+
*/
37+
protected $fileManagerMock;
38+
39+
protected function setUp()
40+
{
41+
$this->eventManagerMock = $this->getMockBuilder('Magento\Framework\Event\ManagerInterface')
42+
->disableOriginalConstructor()
43+
->setMethods([])
44+
->getMock();
45+
46+
$this->translateResourceMock = $this->getMockBuilder('Magento\Framework\Translate\ResourceInterface')
47+
->disableOriginalConstructor()
48+
->setMethods([])
49+
->getMock();
50+
51+
$this->localeResolverMock = $this->getMockBuilder('Magento\Framework\Locale\ResolverInterface')
52+
->disableOriginalConstructor()
53+
->setMethods([])
54+
->getMock();
55+
56+
$this->fileManagerMock = $this->getMockBuilder('Magento\Translation\Model\FileManager')
57+
->disableOriginalConstructor()
58+
->setMethods([])
59+
->getMock();
60+
61+
$objectManagerHelper = new \Magento\Framework\TestFramework\Unit\Helper\ObjectManager($this);
62+
$this->model = $objectManagerHelper->getObject(
63+
'Magento\Translation\Model\Inline\CacheManager',
64+
[
65+
'eventManager' => $this->eventManagerMock,
66+
'translateResource' => $this->translateResourceMock,
67+
'localeResolver' => $this->localeResolverMock,
68+
'fileManager' => $this->fileManagerMock
69+
]
70+
);
71+
}
72+
73+
public function testUpdateAndGetTranslations()
74+
{
75+
$translations = ['phrase1' => 'translated1', 'phrase2' => 'translated2'];
76+
77+
$this->eventManagerMock->expects($this->once())->method('dispatch');
78+
$this->translateResourceMock->expects($this->once())->method('getTranslationArray')->willReturn($translations);
79+
$this->localeResolverMock->expects($this->once())->method('getLocale')->willReturn('en_US');
80+
$this->fileManagerMock->expects($this->once())->method('updateTranslationFileContent');
81+
$this->assertEquals($translations, $this->model->updateAndGetTranslations());
82+
}
83+
}

0 commit comments

Comments
 (0)