|
|
|
@ -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
|
|
|
|
|