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