public function testDelete() { list($filesystem) = $this->getMocks(); $instance = new FilesystemHandler($filesystem); $mockFile = m::mock('Xpressengine\\Storage\\File'); $mockFile->shouldReceive('getAttribute')->once()->with('disk')->andReturn('local'); $mockFile->shouldReceive('getPathname')->andReturn('attached/filenamestring'); $mockFilesystem = m::mock('Illuminate\\Contracts\\Filesystem\\Filesystem'); $mockFilesystem->shouldReceive('delete')->once()->with('attached/filenamestring')->andReturnNull(); $filesystem->shouldReceive('disk')->once()->with('local')->andReturn($mockFilesystem); $instance->delete($mockFile); }
/** * remove file * * @param File $file file instance * @return bool */ public function remove(File $file) { // 파일이 원본일 경우 동적으로 생성된 파일 모두 삭제 처리 함 if ($file->originId === null) { foreach ($file->getRawDerives() as $child) { $this->remove($child); } } $file->getConnection()->table($file->getFileableTable())->where('fileId', $file->id)->delete(); $this->files->delete($file); return $file->delete(); }
/** * remove file * * @param File $file file instance * @return bool */ public function remove(File $file) { // 파일이 원본일 경우 동적으로 생성된 파일 모두 삭제 처리 함 if ($file->originId === null) { foreach ($file->getRawDerives() as $child) { $this->remove($child); } } $this->files->delete($file); return $file->delete(); }