|
|
|
|
@ -211,6 +211,86 @@ class ManagerTest extends TestCase { |
|
|
|
|
$this->assertInstanceOf(NotFoundResponse::class, $secondResult); |
|
|
|
|
} |
|
|
|
|
|
|
|
|
|
public function testOpenByPath() { |
|
|
|
|
$expectedToken = 'TOKEN' . time(); |
|
|
|
|
$file = $this->createMock(File::class); |
|
|
|
|
$file->expects($this->any()) |
|
|
|
|
->method('getId') |
|
|
|
|
->willReturn(123); |
|
|
|
|
$file->expects($this->any()) |
|
|
|
|
->method('getPath') |
|
|
|
|
->willReturn('/admin/files/File.txt'); |
|
|
|
|
$this->random->expects($this->once()) |
|
|
|
|
->method('generate') |
|
|
|
|
->willReturn($expectedToken); |
|
|
|
|
$folder = $this->createMock(Folder::class); |
|
|
|
|
$this->userFolder |
|
|
|
|
->method('nodeExists') |
|
|
|
|
->withConsecutive(['/File.txt'], ['/']) |
|
|
|
|
->willReturnOnConsecutiveCalls(false, true); |
|
|
|
|
$this->userFolder |
|
|
|
|
->method('get') |
|
|
|
|
->with('/File.txt') |
|
|
|
|
->willReturn($file); |
|
|
|
|
$this->userFolder |
|
|
|
|
->method('getRelativePath') |
|
|
|
|
->willReturn('/File.txt'); |
|
|
|
|
$this->manager->open('/File.txt', 'testeditor'); |
|
|
|
|
$firstResult = $this->manager->edit($expectedToken); |
|
|
|
|
$secondResult = $this->manager->edit($expectedToken); |
|
|
|
|
$this->assertInstanceOf(DataResponse::class, $firstResult); |
|
|
|
|
$this->assertInstanceOf(NotFoundResponse::class, $secondResult); |
|
|
|
|
} |
|
|
|
|
|
|
|
|
|
public function testOpenById() { |
|
|
|
|
$expectedToken = 'TOKEN' . time(); |
|
|
|
|
$fileRead = $this->createMock(File::class); |
|
|
|
|
$fileRead->method('getPermissions') |
|
|
|
|
->willReturn(1); |
|
|
|
|
$fileRead->expects($this->any()) |
|
|
|
|
->method('getId') |
|
|
|
|
->willReturn(123); |
|
|
|
|
$fileRead->expects($this->any()) |
|
|
|
|
->method('getPath') |
|
|
|
|
->willReturn('/admin/files/shared_file.txt'); |
|
|
|
|
$file = $this->createMock(File::class); |
|
|
|
|
$file->method('getPermissions') |
|
|
|
|
->willReturn(1); |
|
|
|
|
$file->expects($this->any()) |
|
|
|
|
->method('getId') |
|
|
|
|
->willReturn(123); |
|
|
|
|
$file->expects($this->any()) |
|
|
|
|
->method('getPath') |
|
|
|
|
->willReturn('/admin/files/File.txt'); |
|
|
|
|
$this->random->expects($this->once()) |
|
|
|
|
->method('generate') |
|
|
|
|
->willReturn($expectedToken); |
|
|
|
|
$folder = $this->createMock(Folder::class); |
|
|
|
|
$folder->expects($this->any()) |
|
|
|
|
->method('getById') |
|
|
|
|
->willReturn([ |
|
|
|
|
$fileRead, |
|
|
|
|
$file |
|
|
|
|
]); |
|
|
|
|
$this->userFolder |
|
|
|
|
->method('nodeExists') |
|
|
|
|
->withConsecutive(['/File.txt'], ['/']) |
|
|
|
|
->willReturnOnConsecutiveCalls(false, true); |
|
|
|
|
$this->userFolder |
|
|
|
|
->method('get') |
|
|
|
|
->with('/') |
|
|
|
|
->willReturn($folder); |
|
|
|
|
$this->userFolder |
|
|
|
|
->method('getRelativePath') |
|
|
|
|
->willReturn('/File.txt'); |
|
|
|
|
|
|
|
|
|
$this->manager->open('/', 'testeditor', 123); |
|
|
|
|
$firstResult = $this->manager->edit($expectedToken); |
|
|
|
|
$secondResult = $this->manager->edit($expectedToken); |
|
|
|
|
$this->assertInstanceOf(DataResponse::class, $firstResult); |
|
|
|
|
$this->assertInstanceOf(NotFoundResponse::class, $secondResult); |
|
|
|
|
} |
|
|
|
|
|
|
|
|
|
public function testCreateFileAlreadyExists() { |
|
|
|
|
$this->expectException(\RuntimeException::class); |
|
|
|
|
$this->userFolder |
|
|
|
|
|