laravel-6 support
This commit is contained in:
210
vendor/unisharp/laravel-filemanager/tests/LfmPathTest.php
vendored
Normal file
210
vendor/unisharp/laravel-filemanager/tests/LfmPathTest.php
vendored
Normal file
@@ -0,0 +1,210 @@
|
||||
<?php
|
||||
|
||||
namespace Tests;
|
||||
|
||||
use Illuminate\Http\Request;
|
||||
use Mockery as m;
|
||||
use PHPUnit\Framework\TestCase;
|
||||
use UniSharp\LaravelFilemanager\Lfm;
|
||||
use UniSharp\LaravelFilemanager\LfmItem;
|
||||
use UniSharp\LaravelFilemanager\LfmPath;
|
||||
|
||||
class LfmPathTest extends TestCase
|
||||
{
|
||||
public function tearDown()
|
||||
{
|
||||
m::close();
|
||||
|
||||
parent::tearDown();
|
||||
}
|
||||
|
||||
public function testMagicGet()
|
||||
{
|
||||
$storage = m::mock(LfmStorage::class);
|
||||
|
||||
$helper = m::mock(Lfm::class);
|
||||
$helper->shouldReceive('getStorage')->with('files/bar')->andReturn($storage);
|
||||
$helper->shouldReceive('getCategoryName')->andReturn('files');
|
||||
$helper->shouldReceive('input')->with('working_dir')->andReturn('/bar');
|
||||
$helper->shouldReceive('isRunningOnWindows')->andReturn(false);
|
||||
$helper->shouldReceive('ds')->andReturn('/');
|
||||
|
||||
$path = new LfmPath($helper);
|
||||
|
||||
$this->assertEquals($storage, $path->storage);
|
||||
}
|
||||
|
||||
public function testMagicCall()
|
||||
{
|
||||
$storage = m::mock(LfmStorage::class);
|
||||
$storage->shouldReceive('foo')->andReturn('bar');
|
||||
|
||||
$helper = m::mock(Lfm::class);
|
||||
$helper->shouldReceive('getStorage')->with('files/bar')->andReturn($storage);
|
||||
$helper->shouldReceive('getCategoryName')->andReturn('files');
|
||||
$helper->shouldReceive('input')->with('working_dir')->andReturn('/bar');
|
||||
$helper->shouldReceive('isRunningOnWindows')->andReturn(false);
|
||||
$helper->shouldReceive('ds')->andReturn('/');
|
||||
|
||||
$path = new LfmPath($helper);
|
||||
|
||||
$this->assertEquals('bar', $path->foo());
|
||||
}
|
||||
|
||||
public function testDirAndNormalizeWorkingDir()
|
||||
{
|
||||
$helper = m::mock(Lfm::class);
|
||||
$helper->shouldReceive('input')->with('working_dir')->once()->andReturn('foo');
|
||||
$helper->shouldReceive('isRunningOnWindows')->andReturn(false);
|
||||
|
||||
$path = new LfmPath($helper);
|
||||
|
||||
$this->assertEquals('foo', $path->normalizeWorkingDir());
|
||||
$this->assertEquals('bar', $path->dir('bar')->normalizeWorkingDir());
|
||||
}
|
||||
|
||||
public function testSetNameAndGetName()
|
||||
{
|
||||
$path = new LfmPath(m::mock(Lfm::class));
|
||||
|
||||
$path->setName('bar');
|
||||
|
||||
$this->assertEquals('bar', $path->getName());
|
||||
}
|
||||
|
||||
public function testPath()
|
||||
{
|
||||
$helper = m::mock(Lfm::class);
|
||||
$helper->shouldReceive('getRootFolder')->andReturn('/foo');
|
||||
$helper->shouldReceive('basePath')->andReturn(realpath(__DIR__ . '/../'));
|
||||
$helper->shouldReceive('input')->with('working_dir')->andReturnNull();
|
||||
$helper->shouldReceive('getCategoryName')->andReturn('files');
|
||||
$helper->shouldReceive('isRunningOnWindows')->andReturn(false);
|
||||
$helper->shouldReceive('ds')->andReturn('/');
|
||||
|
||||
$storage = m::mock(LfmStorage::class);
|
||||
$storage->shouldReceive('rootPath')->andReturn(realpath(__DIR__ . '/../') . '/storage/app');
|
||||
|
||||
$helper->shouldReceive('getStorage')->andReturn($storage);
|
||||
|
||||
$path = new LfmPath($helper);
|
||||
|
||||
$this->assertEquals('files/foo', $path->path());
|
||||
$this->assertEquals('files/foo/bar', $path->setName('bar')->path('storage'));
|
||||
}
|
||||
|
||||
public function testUrl()
|
||||
{
|
||||
$helper = m::mock(Lfm::class);
|
||||
$helper->shouldReceive('getRootFolder')->andReturn('/foo');
|
||||
$helper->shouldReceive('input')->with('working_dir')->andReturnNull();
|
||||
$helper->shouldReceive('getCategoryName')->andReturn('files');
|
||||
$helper->shouldReceive('isRunningOnWindows')->andReturn(false);
|
||||
$helper->shouldReceive('ds')->andReturn('/');
|
||||
|
||||
$storage = m::mock(LfmStorage::class);
|
||||
$storage->shouldReceive('url')->andReturn('/files/foo/foo');
|
||||
|
||||
$helper->shouldReceive('getStorage')->andReturn($storage);
|
||||
|
||||
$path = new LfmPath($helper);
|
||||
|
||||
$this->assertEquals('/files/foo/foo', $path->setName('foo')->url());
|
||||
}
|
||||
|
||||
public function testFolders()
|
||||
{
|
||||
$storage = m::mock(LfmStorage::class);
|
||||
$storage->shouldReceive('directories')->andReturn(['foo/bar']);
|
||||
|
||||
$helper = m::mock(Lfm::class);
|
||||
$helper->shouldReceive('getCategoryName')->andReturn('files');
|
||||
$helper->shouldReceive('input')->with('working_dir')->andReturn('/shares');
|
||||
$helper->shouldReceive('input')->with('sort_type')->andReturn('alphabetic');
|
||||
$helper->shouldReceive('getStorage')->andReturn($storage);
|
||||
$helper->shouldReceive('getNameFromPath')->andReturn('bar');
|
||||
$helper->shouldReceive('getThumbFolderName')->andReturn('thumbs');
|
||||
$helper->shouldReceive('isRunningOnWindows')->andReturn(false);
|
||||
$helper->shouldReceive('ds')->andReturn('/');
|
||||
$helper->shouldReceive('config')
|
||||
->with('item_columns')
|
||||
->andReturn(['name', 'url', 'time', 'icon', 'is_file', 'is_image', 'thumb_url']);
|
||||
|
||||
$path = new LfmPath($helper);
|
||||
|
||||
$this->assertInstanceOf(LfmItem::class, $path->folders()[0]);
|
||||
}
|
||||
|
||||
public function testFiles()
|
||||
{
|
||||
$storage = m::mock(LfmStorage::class);
|
||||
$storage->shouldReceive('files')->andReturn(['foo/bar']);
|
||||
|
||||
$helper = m::mock(Lfm::class);
|
||||
$helper->shouldReceive('getCategoryName')->andReturn('files');
|
||||
$helper->shouldReceive('input')->with('working_dir')->andReturn('/shares');
|
||||
$helper->shouldReceive('input')->with('sort_type')->andReturn('alphabetic');
|
||||
$helper->shouldReceive('getStorage')->andReturn($storage);
|
||||
$helper->shouldReceive('getNameFromPath')->andReturn('bar');
|
||||
$helper->shouldReceive('isRunningOnWindows')->andReturn(false);
|
||||
$helper->shouldReceive('ds')->andReturn('/');
|
||||
$helper->shouldReceive('config')
|
||||
->with('item_columns')
|
||||
->andReturn(['name', 'url', 'time', 'icon', 'is_file', 'is_image', 'thumb_url']);
|
||||
|
||||
$path = new LfmPath($helper);
|
||||
|
||||
$this->assertInstanceOf(LfmItem::class, $path->files()[0]);
|
||||
}
|
||||
|
||||
public function testPretty()
|
||||
{
|
||||
$helper = m::mock(Lfm::class);
|
||||
$helper->shouldReceive('getNameFromPath')->andReturn('bar');
|
||||
$helper->shouldReceive('isRunningOnWindows')->andReturn(false);
|
||||
$helper->shouldReceive('config')
|
||||
->with('item_columns')
|
||||
->andReturn(['name', 'url', 'time', 'icon', 'is_file', 'is_image', 'thumb_url']);
|
||||
|
||||
$path = new LfmPath($helper);
|
||||
|
||||
$this->assertInstanceOf(LfmItem::class, $path->pretty('foo'));
|
||||
}
|
||||
|
||||
public function testCreateFolder()
|
||||
{
|
||||
$storage = m::mock(LfmStorage::class);
|
||||
$storage->shouldReceive('rootPath')->andReturn(realpath(__DIR__ . '/../') . '/storage/app');
|
||||
$storage->shouldReceive('exists')->andReturn(false);
|
||||
$storage->shouldReceive('makeDirectory')->andReturn(true);
|
||||
|
||||
$helper = m::mock(Lfm::class);
|
||||
$helper->shouldReceive('getStorage')->with('files/bar')->andReturn($storage);
|
||||
$helper->shouldReceive('getCategoryName')->andReturn('files');
|
||||
$helper->shouldReceive('input')->with('working_dir')->andReturn('/bar');
|
||||
$helper->shouldReceive('isRunningOnWindows')->andReturn(false);
|
||||
$helper->shouldReceive('ds')->andReturn('/');
|
||||
|
||||
$path = new LfmPath($helper);
|
||||
|
||||
$this->assertNull($path->createFolder('bar'));
|
||||
}
|
||||
|
||||
public function testCreateFolderButFolderAlreadyExists()
|
||||
{
|
||||
$storage = m::mock(LfmStorage::class);
|
||||
$storage->shouldReceive('exists')->andReturn(true);
|
||||
$storage->shouldReceive('makeDirectory')->andReturn(true);
|
||||
|
||||
$helper = m::mock(Lfm::class);
|
||||
$helper->shouldReceive('getStorage')->with('files/bar')->andReturn($storage);
|
||||
$helper->shouldReceive('getCategoryName')->andReturn('files');
|
||||
$helper->shouldReceive('input')->with('working_dir')->andReturn('/bar');
|
||||
$helper->shouldReceive('isRunningOnWindows')->andReturn(false);
|
||||
$helper->shouldReceive('ds')->andReturn('/');
|
||||
|
||||
$path = new LfmPath($helper);
|
||||
|
||||
$this->assertFalse($path->createFolder('foo'));
|
||||
}
|
||||
}
|
Reference in New Issue
Block a user