Skip to content

Commit eef6a04

Browse files
Merge pull request #4221 from magento-engcom/2.2-develop-prs
[Magento Community Engineering] Community Contributions - 2.2-develop
2 parents f65c3f3 + 1317041 commit eef6a04

File tree

2 files changed

+40
-2
lines changed

2 files changed

+40
-2
lines changed

app/code/Magento/Theme/Model/Design/Backend/File.php

Lines changed: 14 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -20,6 +20,7 @@
2020
use Magento\Framework\UrlInterface;
2121
use Magento\MediaStorage\Model\File\UploaderFactory;
2222
use Magento\Theme\Model\Design\Config\FileUploader\FileProcessor;
23+
use Magento\MediaStorage\Helper\File\Storage\Database;
2324

2425
/**
2526
* @SuppressWarnings(PHPMD.CouplingBetweenObjects)
@@ -36,6 +37,11 @@ class File extends BackendFile
3637
*/
3738
private $mime;
3839

40+
/**
41+
* @var Database
42+
*/
43+
private $databaseHelper;
44+
3945
/**
4046
* @param Context $context
4147
* @param Registry $registry
@@ -48,6 +54,7 @@ class File extends BackendFile
4854
* @param AbstractResource|null $resource
4955
* @param AbstractDb|null $resourceCollection
5056
* @param array $data
57+
* @param Database $databaseHelper
5158
* @SuppressWarnings(PHPMD.ExcessiveParameterList)
5259
*/
5360
public function __construct(
@@ -61,7 +68,8 @@ public function __construct(
6168
UrlInterface $urlBuilder,
6269
AbstractResource $resource = null,
6370
AbstractDb $resourceCollection = null,
64-
array $data = []
71+
array $data = [],
72+
Database $databaseHelper = null
6573
) {
6674
parent::__construct(
6775
$context,
@@ -76,6 +84,7 @@ public function __construct(
7684
$data
7785
);
7886
$this->urlBuilder = $urlBuilder;
87+
$this->databaseHelper = $databaseHelper ?: ObjectManager::getInstance()->get(Database::class);
7988
}
8089

8190
/**
@@ -103,6 +112,10 @@ public function beforeSave()
103112
$this->getTmpMediaPath($filename),
104113
$this->_getUploadDir() . '/' . $filename
105114
);
115+
$this->databaseHelper->renameFile(
116+
$this->getTmpMediaPath($filename),
117+
$this->_getUploadDir() . '/' . $filename
118+
);
106119
if ($result) {
107120
$this->_mediaDirectory->delete($this->getTmpMediaPath($filename));
108121
if ($this->_addWhetherScopeInfo()) {

app/code/Magento/Theme/Test/Unit/Model/Design/Backend/FileTest.php

Lines changed: 26 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -28,6 +28,11 @@ class FileTest extends \PHPUnit\Framework\TestCase
2828
*/
2929
private $mime;
3030

31+
/**
32+
* @var \Magento\MediaStorage\Helper\File\Storage\Database|\PHPUnit_Framework_MockObject_MockObject
33+
*/
34+
private $databaseHelper;
35+
3136
public function setUp()
3237
{
3338
$context = $this->getMockObject(\Magento\Framework\Model\Context::class);
@@ -55,6 +60,17 @@ public function setUp()
5560
->disableOriginalConstructor()
5661
->getMock();
5762

63+
$this->databaseHelper = $this->getMockBuilder(\Magento\MediaStorage\Helper\File\Storage\Database::class)
64+
->disableOriginalConstructor()
65+
->getMock();
66+
67+
$abstractResource = $this->getMockBuilder(\Magento\Framework\Model\ResourceModel\AbstractResource::class)
68+
->getMockForAbstractClass();
69+
70+
$abstractDb = $this->getMockBuilder(\Magento\Framework\Data\Collection\AbstractDb::class)
71+
->disableOriginalConstructor()
72+
->getMockForAbstractClass();
73+
5874
$this->fileBackend = new File(
5975
$context,
6076
$registry,
@@ -63,7 +79,11 @@ public function setUp()
6379
$uploaderFactory,
6480
$requestData,
6581
$filesystem,
66-
$this->urlBuilder
82+
$this->urlBuilder,
83+
$abstractResource,
84+
$abstractDb,
85+
[],
86+
$this->databaseHelper
6787
);
6888

6989
$objectManager = new \Magento\Framework\TestFramework\Unit\Helper\ObjectManager($this);
@@ -196,6 +216,11 @@ public function testBeforeSave($fileName)
196216
]
197217
);
198218

219+
$this->databaseHelper->expects($this->once())
220+
->method('renameFile')
221+
->with($expectedTmpMediaPath, '/' . $expectedFileName)
222+
->willReturn(true);
223+
199224
$this->mediaDirectory->expects($this->once())
200225
->method('copyFile')
201226
->with($expectedTmpMediaPath, '/' . $expectedFileName)

0 commit comments

Comments
 (0)