TemporaryFileStorageTest.php 1.1 KB

12345678910111213141516171819202122232425262728293031323334
  1. <?php
  2. use App\Service\Storage\TemporaryFileStorage;
  3. use Gaufrette\Adapter\Local;
  4. use Gaufrette\Filesystem;
  5. use Knp\Bundle\GaufretteBundle\FilesystemMap;
  6. use PHPUnit\Framework\TestCase;
  7. class TemporaryFileStorageTest extends TestCase
  8. {
  9. public function testGetStorageBaseDir() {
  10. $fileSystemMap = $this->getMockBuilder(FilesystemMap::class)
  11. ->disableOriginalConstructor()
  12. ->getMock();
  13. $fileSystem = $this->getMockBuilder(Filesystem::class)
  14. ->disableOriginalConstructor()
  15. ->getMock();
  16. $adapter = $this->getMockBuilder(Local::class)
  17. ->disableOriginalConstructor()
  18. ->getMock();
  19. $fileSystemMap->method('get')->willReturn($fileSystem);
  20. $fileSystem->method('getAdapter')->willReturn($adapter);
  21. $adapter->expects($this->once())->method('write')->willReturnSelf();
  22. $storage = new TemporaryFileStorage($fileSystemMap);
  23. $path = $storage->write('my_file.txt', 'some content');
  24. $this->assertMatchesRegularExpression(
  25. '/temp\/\d{8}_\d{6}_[\w\d]{8}\/my_file.txt/',
  26. $path
  27. );
  28. }
  29. }