diff --git a/app/code/Magento/Translation/Model/Inline/CacheManager.php b/app/code/Magento/Translation/Model/Inline/CacheManager.php index 7250f3d4fe56c111148ed3d60b1f68b0397ed213..995409663a6108b2770369031d598d142c20af27 100644 --- a/app/code/Magento/Translation/Model/Inline/CacheManager.php +++ b/app/code/Magento/Translation/Model/Inline/CacheManager.php @@ -11,16 +11,24 @@ namespace Magento\Translation\Model\Inline; */ class CacheManager { - /** @var \Magento\Framework\Event\ManagerInterface */ + /** + * @var \Magento\Framework\Event\ManagerInterface + */ protected $eventManager; - /** @var \Magento\Framework\Translate\ResourceInterface */ + /** + * @var \Magento\Framework\Translate\ResourceInterface + */ protected $translateResource; - /** @var \Magento\Framework\Locale\ResolverInterface */ + /** + * @var \Magento\Framework\Locale\ResolverInterface + */ protected $localeResolver; - /** @var \Magento\Translation\Model\FileManager $fileManager */ + /** + * @var \Magento\Translation\Model\FileManager + */ protected $fileManager; /** diff --git a/app/code/Magento/Translation/Test/Unit/Model/Inline/CacheManagerTest.php b/app/code/Magento/Translation/Test/Unit/Model/Inline/CacheManagerTest.php new file mode 100644 index 0000000000000000000000000000000000000000..f710d585c0c3d83b2c6051dfa1ad9eb66c4be1d7 --- /dev/null +++ b/app/code/Magento/Translation/Test/Unit/Model/Inline/CacheManagerTest.php @@ -0,0 +1,83 @@ +<?php +/** + * Copyright © 2015 Magento. All rights reserved. + * See COPYING.txt for license details. + */ + +namespace Magento\Translation\Test\Unit\Model\Inline; + +/** + * @covers \Magento\Translation\Model\Inline\CacheManager + */ +class CacheManagerTest extends \PHPUnit_Framework_TestCase +{ + /** + * @var \Magento\Translation\Model\Inline\CacheManager + */ + protected $model; + + /** + * @var \Magento\Framework\Event\ManagerInterface|\PHPUnit_Framework_MockObject_MockObject + */ + protected $eventManagerMock; + + /** + * @var \Magento\Framework\Translate\ResourceInterface|\PHPUnit_Framework_MockObject_MockObject + */ + protected $translateResourceMock; + + /** + * @var \Magento\Framework\Locale\ResolverInterface|\PHPUnit_Framework_MockObject_MockObject + */ + protected $localeResolverMock; + + /** + * @var \Magento\Translation\Model\FileManager|\PHPUnit_Framework_MockObject_MockObject + */ + protected $fileManagerMock; + + protected function setUp() + { + $this->eventManagerMock = $this->getMockBuilder('Magento\Framework\Event\ManagerInterface') + ->disableOriginalConstructor() + ->setMethods([]) + ->getMock(); + + $this->translateResourceMock = $this->getMockBuilder('Magento\Framework\Translate\ResourceInterface') + ->disableOriginalConstructor() + ->setMethods([]) + ->getMock(); + + $this->localeResolverMock = $this->getMockBuilder('Magento\Framework\Locale\ResolverInterface') + ->disableOriginalConstructor() + ->setMethods([]) + ->getMock(); + + $this->fileManagerMock = $this->getMockBuilder('Magento\Translation\Model\FileManager') + ->disableOriginalConstructor() + ->setMethods([]) + ->getMock(); + + $objectManagerHelper = new \Magento\Framework\TestFramework\Unit\Helper\ObjectManager($this); + $this->model = $objectManagerHelper->getObject( + 'Magento\Translation\Model\Inline\CacheManager', + [ + 'eventManager' => $this->eventManagerMock, + 'translateResource' => $this->translateResourceMock, + 'localeResolver' => $this->localeResolverMock, + 'fileManager' => $this->fileManagerMock + ] + ); + } + + public function testUpdateAndGetTranslations() + { + $translations = ['phrase1' => 'translated1', 'phrase2' => 'translated2']; + + $this->eventManagerMock->expects($this->once())->method('dispatch'); + $this->translateResourceMock->expects($this->once())->method('getTranslationArray')->willReturn($translations); + $this->localeResolverMock->expects($this->once())->method('getLocale')->willReturn('en_US'); + $this->fileManagerMock->expects($this->once())->method('updateTranslationFileContent'); + $this->assertEquals($translations, $this->model->updateAndGetTranslations()); + } +}