/** * @param int $storage * @param int $callNum * @param string $expected * @dataProvider getUniqueFilenameDataProvider */ public function testGetUniqueFilename($storage, $callNum, $expected) { $this->configMock->expects($this->once())->method('getValue')->with(\Magento\Core\Model\File\Storage::XML_PATH_STORAGE_MEDIA, 'default')->will($this->returnValue($storage)); $dbModelMock = $this->getMockBuilder('Magento\\Core\\Model\\File\\Storage\\Database')->disableOriginalConstructor()->getMock(); $this->dbStorageFactoryMock->expects($this->exactly($callNum))->method('create')->will($this->returnValue($dbModelMock)); $map = [['directory/filename.ext', true], ['directory/filename_1.ext', true], ['directory/filename_2.ext', false]]; $dbModelMock->expects($this->any())->method('fileExists')->will($this->returnValueMap($map)); $this->assertSame($expected, $this->helper->getUniqueFilename('media-dir/directory/', 'filename.ext')); }
/** * Check whether file to move exists. Getting unique name * * @param <type> $file * @return string */ protected function _getUniqueFileName($file) { if ($this->_fileStorageDb->checkDbUsage()) { $destFile = $this->_fileStorageDb->getUniqueFilename($this->_mediaConfig->getBaseMediaUrlAddition(), $file); } else { $destFile = dirname($file) . '/' . \Magento\Core\Model\File\Uploader::getNewFileName($this->_mediaDirectory->getAbsolutePath($this->_mediaConfig->getMediaPath($file))); } return $destFile; }