Booking, QI Content, Trees, Media
This commit is contained in:
parent
1f340e96fa
commit
7fbac395a9
260 changed files with 27160 additions and 3773 deletions
201
packages/iqcontent/laravel-filemanager/tests/LfmPathTest.php
Normal file
201
packages/iqcontent/laravel-filemanager/tests/LfmPathTest.php
Normal file
|
|
@ -0,0 +1,201 @@
|
|||
<?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('/');
|
||||
|
||||
$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('/');
|
||||
|
||||
$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);
|
||||
|
||||
$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'));
|
||||
}
|
||||
}
|
||||
Loading…
Add table
Add a link
Reference in a new issue